JSON(JavaScript Object Notation)是一种轻量级的文本数据交换格式,由 Douglas Crockford 推广,标准是 RFC 8259 和 ECMA-404。下面重点说明处理过程分步说明。
JSON原理
JSON 解析器按语法逐字符读取:遇到 { 开始对象,读取“字符串键 : 值”,用逗号分隔;遇到 [ 开始数组;字符串必须以双引号开始和结束,数字按十进制解析。整个过程只是语法转换,不执行任何代码,所以比 eval 安全。
示例
输入:{"name":"123问","tools":169}
解析与输出结果:
{
"name": "123问",
"tools": 169
}
说明:按 2 空格缩进,每个键值对一行。
特殊字符
字符串中必须转义的字符:双引号 \"、反斜杠 \\、控制字符(换行 \n、制表 \t、回车 \r 等);“/”可以写成 \/(可选)。其他字符包括中文都可以直接写。
常见报错
- SyntaxError: Unexpected token } in JSON:多了尾逗号
- Unexpected token ' :用了单引号
- Expecting property name enclosed in double quotes:键没加双引号或有尾逗号
- Unexpected end of JSON input:内容被截断或是空字符串
- Extra data:一个字符串里有两个 JSON 值,可能是多行 JSON(JSONL)
本站的JSON格式化工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【JSON 键名必须加引号吗?】必须用双引号。
【最后一项后面能加逗号吗?】不能,这是最常见的 JSON 错误之一。
【JSON 中的大数字精度丢失怎么办?】JavaScript 只能精确表示 2^53 以内的整数,长 ID 建议用字符串传输。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。