JSON 格式错误怎么快速定位?
用 JSON 验证工具粘贴后会直接标出出错的行号和列号。最常见的三类错误是:对象或数组最后一项后面多了逗号、字符串用了单引号而不是双引号、以及 JSON 里写了 // 或 /* */ 注释。标准 JSON(RFC 8259)不允许尾随逗号和注释,很多人是从 JavaScript 对象字面量直接复制过来才踩到这个坑。
13 款覆盖 JSON 完整处理链路的在线工具,全部在浏览器本地运行。
点开即用,多数工具已预填示例数据。
JSON 是接口调试、配置文件和数据交换里最常见的格式,但它对语法极其严格:多一个逗号、少一个引号、写了注释,解析就会失败。这一组工具的作用,是把「肉眼看不出问题」的 JSON 变成可读、可校验、可对比的形式。
13 款工具覆盖 JSON 的完整生命周期——拿到压缩过的响应体先用格式化工具展开缩进;报错时用校验工具定位到具体行列;两个环境返回不一致就用差异比较逐字段对齐;要从深层嵌套里取值用 JSONPath;上线前再压缩掉空白减小体积。
所有 JSON 处理都在浏览器里完成,不会把数据发到服务器——这对包含手机号、订单号、token 的线上响应体尤其重要。
接口联调
后端返回一长串压缩 JSON,格式化后逐层展开,确认字段名和嵌套层级。
线上排错
对比预发和生产两份配置 JSON,用差异比较找出被改动的字段。
数据交付
把接口返回的 JSON 数组转成 CSV,交给运营同事用 Excel 打开。
写类型定义
用代码生成器从 JSON 直接生成 TypeScript interface 或 Go struct,省去手敲。
用 JSON 验证工具粘贴后会直接标出出错的行号和列号。最常见的三类错误是:对象或数组最后一项后面多了逗号、字符串用了单引号而不是双引号、以及 JSON 里写了 // 或 /* */ 注释。标准 JSON(RFC 8259)不允许尾随逗号和注释,很多人是从 JavaScript 对象字面量直接复制过来才踩到这个坑。
标准 JSON 遵循 RFC 8259,键必须用双引号、不允许注释和尾随逗号。JSONC 在此基础上允许注释,VS Code 的配置文件用的就是它。JSON5 更宽松,允许单引号、无引号键名、十六进制数字和多行字符串。本站校验工具按标准 JSON 检查,如果你的文件是 JSONC,需要先删掉注释再校验。
JSON 类工具的格式化、压缩、校验、比较、排序、扁平化和格式转换全部在浏览器里用 JavaScript 完成,数据不会离开你的设备。只有明确标注「AI 分析」的功能才会把内容发到服务端处理,页面上会有提示,你可以选择不用。
用 JSON 差异比较工具,左右各粘贴一份,工具会按结构对齐后逐字段标出新增、删除和修改。它不是纯文本 diff——键的顺序不同不会被算作差异,这一点在比较接口响应时很关键,因为多数服务端不保证 JSON 键的输出顺序。若确实想统一顺序,可以先用键名排序工具把两份都递归排序一遍。
CSV 是二维表格,没法直接表达嵌套。转换工具会先把嵌套结构扁平化,用点号拼接成列名,比如 user.address.city;数组按下标展开成 items.0.name、items.1.name。如果嵌套层级很深,建议先用 JSON 扁平化工具看一遍展开后的键名,确认列名符合预期再导出。
JSONPath 是一套独立的查询语法:$ 代表根节点,.. 表示递归下探,[*] 遍历数组,还支持 [?(@.price > 100)] 这样的过滤表达式。优势是一行表达式就能从深层嵌套里批量取值,不用写循环。例如 $..book[?(@.price<10)].title 会取出所有价格低于 10 的书名。