常见的 JSON 错误及修复方法
大多数 JSON 错误源于十种疏忽:末尾逗号、单引号、未加引号的键、注释、未转义的引号、原始换行符、缺失的逗号、未关闭的括号、undefined/NaN 值以及带前导零的数字。将您的 JSON 粘贴到免费的 JSON 验证器中以查找确切的行号,然后使用下表进行修复。

10 个 JSON 错误及修复方法
✕
✓| 错误 | 错误 | 右对齐 |
|---|---|---|
| 末尾逗号 | {"a": 1,} | {"a": 1} |
| 单引号 | {'a': 'x'} | {"a": "x"} |
| 未加引号的键 | {a: 1} | {"a": 1} |
| 注释 | {"a": 1 /* note */} | {"a": 1} |
| 文本中的未转义引号 | {"q": "He said "hi""} | {"q": "He said \"hi\""} |
| 字符串中的原始换行符 | "line one | "line one\nline two" |
| 缺少逗号 | {"a": 1 "b": 2} | {"a": 1, "b": 2} |
| 未闭合的括号 | {"list": [1, 2} | {"list": [1, 2]} |
| undefined / NaN | {"a": undefined} | {"a": null} |
| 前导零 | {"pin": 0123} | {"pin": "0123"} |
调试步骤

- 将 JSON 粘贴到 JSON 验证器 中。
- 转到它报告的行 – 真正的错误通常在前一行之前。
- 使用上表修复。
- 使用 JSON 格式化工具 格式化结果,以发现剩余的问题。
- 再次验证,直到通过。
为什么会发生这些错误
✕
✓- 尾随逗号:删除对象或数组中最后一项后面的逗号。
- 单引号:JSON 只接受键和字符串的双引号。
- 未加引号的键:将每个键用双引号括起来。
- 注释:删除注释 – JSON 没有注释语法。
- 文本内未转义的引号:用反斜杠转义内部的双引号。
如何避免错误
- 使用语言内置的编码器(JSON.stringify、json_encode、json.dumps)生成 JSON,而不是手动编写。
- 使用具有 JSON 语法高亮显示的编辑器。
- 在解析之前,在开发过程中验证 API 响应。
常见问题解答
如何找到确切的错误?
🧑💻 将 JSON 粘贴到 JSON 验证器中。它会指出问题所在,通常会显示行号。
为什么我的 API 显示“意外令牌”?
响应不是有效的 JSON – 通常是 HTML 错误页面、尾随逗号或左大括号之前的文本。
我可以在 package.json 或其他配置文件中放置注释吗?
不在严格的 JSON 文件中,例如 package.json。某些工具接受 JSONC 或 JSON5 – 仅在工具文档支持的情况下使用注释。
为什么大数字在解析后会改变?
JavaScript 无法精确存储大于 2^53 的整数。请将大型 ID 作为字符串发送。
JSON 区分大小写吗?
是的。“Name”和“name”是不同的键,true/false/null 必须是小写。
本指南中的工具可以免费使用吗?
是的。pdfseotools.com 上的本指南中的工具可免费使用 – 无需注册、无水印,日常任务无隐藏费用。
摘要
分享到社交媒体: