JSON 调试:常见问题及解决方法

jsondebuggingerrorstroubleshooting

JSON 错误是 Web 开发中最常见的 bug 之一。本指南涵盖您最常遇到的问题及快速修复方法。

十大 JSON 错误

1. 尾随逗号

{

"name": "Alice", ← 删除这个逗号

}

修复: 删除最后一个属性后的尾随逗号。

2. 单引号

{'name': 'Alice'}  ← 错误

修复: 始终使用双引号。

3. 未加引号的键

{name: "Alice"}  ← 错误

修复: 所有键必须使用双引号:{"name": "Alice"}

4. JSON 中的注释

{

// 这不是有效的 JSON

"name": "Alice"

}

修复: JSON 不支持注释。删除它们或使用 JSONC 格式。

5. 字符串中的特殊字符

{"text": "第一行

第二行"} ← 换行必须转义

修复: 使用 \n 表示换行:"第一行\n第二行"

6. Undefined 和 NaN 值

{"value": undefined}  ← 不是有效的 JSON

修复: 使用 null{"value": null}

7. 十六进制数字

{"color": 0xFF0000}  ← 不是有效的 JSON

修复: 使用字符串:{"color": "#FF0000"}

8. 嵌套错误

{"users": {"name": "Alice"},}  ← 多余的花括号

修复: 仔细匹配所有开闭括号。

9. Unicode 问题

{"emoji": "🎉"}  ← 通常可以工作,但必要时需转义

10. BOM 字符

带 BOM 保存的文件可能导致解析错误。修复: 以无 BOM 的 UTF-8 保存。

调试工作流

  • 验证 — 使用 [JSON 验证器 检查语法
  • 格式化 — 使用 JSON 格式化器 使其可读
  • 检查 — 使用 JSON 查看器 探索结构
  • 修复 — 根据行/列信息解决错误
  • 预防技巧

  • 使用支持 JSON 检查的编辑器
  • 在 CI/CD 流水线中验证 JSON
  • 使用 JSON.stringify() 而非手动构造
  • 开发时使用真实数据测试
  • 相关工具