JSON 常见语法错误

JSON 规则比 JavaScript 对象字面量更严格。遇到解析错误时,不要只盯着报错字符;真正的问题经常出现在它前面的引号、逗号或转义符。

主题:开发辅助最后核对:2026-07-24

属性名和字符串必须使用双引号

错误{'name': '简工箱'}
正确{"name": "简工箱"}

标准 JSON 不接受单引号,也不接受省略引号的属性名。复制 JavaScript 配置到 JSON 文件时,这是最常见的差异。

最后一项后面不能保留逗号

错误{"enabled": true,}
正确{"enabled": true}

部分编程语言允许尾随逗号,但 JSON 标准不允许。自动生成 JSON 时,应让序列化库负责逗号,而不是手工拼接字符串。

换行、反斜杠和双引号需要转义

字符串内部的双引号写作 \",反斜杠写作 \\,换行写作 \n。Windows 路径中的反斜杠尤其容易导致无效转义,例如应写成 "D:\\work\\file.txt"

问题错误示例正确方向
加入注释{"a": 1 // comment}JSON 不支持注释;把说明放到独立字段或文档。
使用特殊数字{"value": NaN}JSON 只支持有限数字,必要时使用 null 或字符串并约定含义。
布尔值大小写错误{"ok": True}必须使用小写 truefalse
括号不配对{"items": [1, 2}数组用方括号闭合,对象用花括号闭合。

推荐排查顺序

  1. 先格式化并记录首个错误位置。
  2. 向前检查最近的引号、反斜杠和逗号。
  3. 确认对象、数组括号是否配对。
  4. 检查是否混入注释、undefinedNaN 等非 JSON 值。
  5. 修复首个错误后重新解析,不要一次猜测所有问题。

常见问题

格式化会改变字段顺序吗?

本站工具使用浏览器解析与序列化,现代环境通常保留常规对象键顺序,但业务逻辑不应依赖 JSON 对象字段顺序。

压缩 JSON 会损失数据吗?

压缩只移除语法上不必要的空白,不应改变解析后的值。字符串内部空格不会被删除。