作者:本站站长
发布日期:2025年9月26日
JSON(JavaScript Object Notation)是现代 Web 开发中最常用的数据交换格式。虽然语法简单,但在实际使用中,开发者常因格式不规范或理解偏差导致解析失败。本文总结了 JSON 最常见的 8 大错误,并提供详细的修复方法,助你快速排查问题。
在排查错误前,先明确 JSON 的核心规则:
" ",不能用单引号或无引号。{
'name': '张三',
'age': 25
}
{
"name": "张三",
"age": 25
}
{
name: "李四",
city: "北京"
}
{
"name": "李四",
"city": "北京"
}
{
"title": "文章标题",
"author": "王五", ← 多余的逗号
}
{
"title": "文章标题",
"author": "王五"
}
{
"apiUrl": "https://api.example.com",
// "timeout": 5000 ← 注释不被支持
"retry": 3
}
{
"apiUrl": "https://api.example.com",
"retry": 3
}
💡 提示:如需说明,可在文档或代码注释中补充。
{
"callback": function() {}, ← 函数不支持
"value": undefined ← undefined 不支持
}
{
"callback": null,
"value": null
}
或在 JSON.stringify() 时使用 replacer 过滤。
{
"desc": "这是一个未闭合的字符串
}
\n{
"desc": "这是一个已闭合的字符串\n第二行"
}
{
"created": new Date() ← 这不是合法 JSON
}
{
"created": "2025-09-26T02:45:00Z"
}
在 JavaScript 中可用 new Date().toISOString() 生成。
{
"users": [
{"name": "Alice"},
{"name": "Bob"}
] ← 缺少外层对象的结束大括号?
}
{
"users": [
{"name": "Alice"},
{"name": "Bob"}
]
}
try {
JSON.parse('你的JSON字符串');
console.log("✅ JSON 格式正确");
} catch (e) {
console.error("❌ JSON 错误:", e.message);
}
安装 JSON Tools 或 Prettify JSON,可自动格式化和高亮错误。
| 错误类型 | 错误示例 | 修复方法 |
|---|---|---|
| 单引号 | 'name': 'Tom' |
改为双引号 "name": "Tom" |
| 尾随逗号 | "age": 30, |
删除逗号 |
| 注释 | // 注释 |
删除注释 |
| 未闭合字符串 | "desc": "hello |
补全 " |
| 函数/undefined | "fn": function(){} |
替换为 null 或移除 |
JSON 虽然简单,但格式要求极其严格。一个多余的逗号或单引号就会导致整个解析失败。掌握这些常见错误和修复方法,能显著提升开发效率。
try...catch 包裹 JSON.parse()。记住:JSON 不是 JavaScript 对象!它是纯文本数据格式。理解这一点,就能避免大多数陷阱。