第 5 课

常见 JSON 错误

尾逗号、注释、单引号等高频错误与纠正方法。

无效 JSON 通常在解析阶段就会失败。熟悉下列模式,能更快排查 API 联调或配置文件中的问题。

尾逗号

{
  "a": 1,
  "b": 2,
}

JavaScript 允许 2 后面的逗号;JSON 不允许。请删除 } 或 ] 前的多余逗号。

单引号

{ 'name': 'Ada' }

JSON 字符串 必须 使用双引号 "。

未加引号的键

{ name: "Ada" }

键也是字符串,必须写成:{ "name": "Ada" }。

注释

// JSON 中不允许
{ "x": 1 }

说明文档应放在 README 或 JSON Schema 中,不要写在 JSON 正文里。

非法字面量

  • True / False — 应为小写 true / false
  • undefined — 省略该属性或使用 null
  • NaN、Infinity — 不是合法 JSON 数字

智能引号与不可见字符

从 Word 或网页复制可能带入 " " 而非 "。编辑器还可能插入 BOM 或不换行空格。若报错位置难以理解,可重新输入引号,或经纯文本编辑器粘贴。

来自 JavaScript 的「几乎 JSON」

从控制台复制对象时,输出可能像 JSON,却包含函数、未加引号的键或 undefined。在当作 JSON 使用前,应通过严格解析器校验。

排查步骤

  1. 查看解析器报错的行与列。
  2. 检查闭合括号上一行是否有多余逗号。
  3. 确认字符串与键均使用 "。
  4. 删除注释及 JavaScript 专有语法。

这些规则故意设计得很严格——严格性正是 JSON 跨系统可移植的原因。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

← 返回课程概览