第 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
  • NaNInfinity — 不是合法 JSON 数字

智能引号与不可见字符

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

来自 JavaScript 的「几乎 JSON」

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

排查步骤

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

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

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

打开相关工具

返回课程概览