JSON 在线解析怎么用?格式化、验证与常见报错排查
把 JSON 文本粘贴进 JSON.cn 这类在线解析工具,点击格式化或验证,就能看到带缩进和层级的结构,并得到是否合法的判断。它适合临时查看接口返回、调试配置、检查一段 JSON 是否写错;如果数据含密钥、用户隐私或体积很大,应先脱敏或改用本地工具。
在线解析工具能做什么
JSON.cn 提供 JSON 解析、验证、格式化、压缩、编辑器,以及 JSON 与 XML 相互转换等服务。日常最常用的三类操作是:
- 格式化:把压缩成一行的 JSON 展开成带缩进的多行结构,方便阅读嵌套层级。
- 验证:判断这段文本是否符合 JSON 语法,不合法时给出错误位置。
- 压缩:去掉多余空白和换行,减小传输体积。
此外还有 JSON 转义、JSON 转 XML、XML 转 JSON、JSON 转实体等附加功能,适合在接口对接、数据迁移时临时转换格式。
操作步骤
- 打开 JSON.cn 的在线解析页面。
- 把 JSON 文本粘贴到输入框。可以是一整段接口返回,也可以是自己手写的配置片段。
- 点击格式化或验证按钮。
- 预期结果:合法时,输入区或结果区显示带缩进的多行 JSON,层级一目了然;不合法时,工具提示错误信息,通常包含出错的行列或字符位置。
- 按提示回到原文修改,再重新粘贴验证,直到通过。
如果只是想确认合法性,用验证即可;想看清结构,用格式化;要发给别人或写入配置文件,格式化后再复制。
常见报错与排查
JSON 语法比 JavaScript 对象字面量更严格,很多“看起来没问题”的写法都会导致解析失败。
| 错误写法 | 问题 | 正确写法 |
|---|---|---|
{'name': 'Tom'} |
键和字符串用了单引号 | {"name": "Tom"} |
{"a": 1,} |
最后一个成员后多了逗号 | {"a": 1} |
{"a": 1 "b": 2} |
成员之间缺逗号 | {"a": 1, "b": 2} |
{"a":1} |
用了中文全角冒号 | {"a": 1} |
{"a": "值","b": 2} |
用了中文全角逗号 | {"a": "值", "b": 2} |
// 注释 |
JSON 不支持注释 | 删除注释 |
{"a": undefined} |
undefined 不是合法 JSON 值 | 用 null 或删除该字段 |
排查顺序建议:
- 先看工具报错的行列,定位到具体位置。
- 检查该位置附近是否有单引号、尾随逗号、中文标点。
- 检查是否混入了注释、函数、undefined 等 JavaScript 特有写法。
- 如果是从代码里复制出来的对象,注意它可能不是严格 JSON,需要先序列化。
附加操作的使用场景
- 压缩:接口返回或日志里的 JSON 太长,压缩后便于粘贴到有长度限制的地方。
- 转义:需要把 JSON 作为字符串嵌入另一段 JSON 或代码时使用。
- JSON 转 XML / XML 转 JSON:在只支持其中一种格式的系统之间做临时转换。
- JSON 转实体:根据 JSON 结构生成对应语言的实体类代码,减少手写字段的工作量。
这些操作都基于同一份输入,转换前先确保 JSON 本身合法,否则结果可能不符合预期。
大文件与敏感数据的处理
在线工具意味着数据要经过浏览器和网站。处理以下内容时要谨慎:
- 含账号、密钥、手机号、身份证号等敏感字段的 JSON,先脱敏再粘贴。
- 体积很大的 JSON,在线页面可能卡顿或截断,建议改用本地编辑器或命令行工具。
- 公司内部数据、未公开接口返回,优先在本地环境处理。
本地替代方式包括编辑器自带的 JSON 格式化、命令行工具等,效果与在线工具类似,数据不出本机。
什么时候用在线解析
适合:临时查看、快速验证、格式转换、学习 JSON 语法。
不适合:处理敏感数据、超大文件、需要批量自动化处理的场景。
把在线工具当作随手可用的检查器,把敏感和批量任务交给本地工具,是更稳妥的用法。