JSON 格式化报错怎么办?
整理缺少引号、逗号、尾随逗号、转义字符等常见 JSON 报错原因,并给出排查顺序。
打开 JSON 格式化工具先确认 JSON 是否符合严格语法
很多接口返回看起来像 JSON,但实际夹杂了注释、单引号、尾随逗号或未转义的换行符。浏览器里的 JSON.parse 会按严格 JSON 规范解析,所以只要有一个字符不合法,就会直接报错。
排查时建议先从报错位置附近往前看 20 到 50 个字符,重点检查对象键名是否使用双引号、字符串中是否包含未转义的引号、数组和对象末尾是否多了逗号。
- 对象键名必须使用双引号,例如 {"name":"webtools"}。
- 字符串不能直接换行,换行需要写成 \n。
- JSON 里不能写 // 注释或 /* 注释 */。
- 最后一个字段或数组元素后面不能保留逗号。
接口调试时最容易忽略的问题
从日志、控制台或接口文档复制数据时,常见问题是前后带了说明文字,或者服务端返回的是 JavaScript 对象字面量而不是 JSON。比如 {name: "Tom"} 在 JS 里能看懂,但不是合法 JSON。
如果数据来自后端接口,还要注意 Content-Type 和字符编码。中文乱码、不可见控制字符、BOM 头都会导致复制后的 JSON 难以直接解析。
- 先复制最外层 { } 或 [ ] 内的完整内容。
- 把单引号统一替换为双引号前,要确认字符串内部没有被误伤。
- 日志里带时间、级别、traceId 时,需要先剥离这些前缀。
推荐排查顺序
先用 JSON 格式化工具做一次校验,定位第一处错误;修复后再继续校验,因为第一处错误可能会引起后面一串连带报错。对于很长的接口数据,可以先折半删除定位问题区间,再逐步缩小范围。
如果你经常处理配置文件,建议把“美化后的 JSON”和“压缩后的 JSON”都保存一份。美化版方便排查,压缩版适合粘贴到接口或环境变量里。
常见问题
JSON 可以用单引号吗?
不可以。严格 JSON 的字符串和对象键名都必须使用双引号,单引号只适用于 JavaScript 字面量。
为什么少一个逗号会报在后面一行?
解析器通常在读到下一个字段时才发现前一个字段没有正确结束,所以报错位置可能会偏后。
JSON 格式化会上传数据吗?
本站 JSON 工具在浏览器和站点接口中完成格式化,敏感数据建议优先在本地或可信环境处理。