常见JSON错误
| 错误写法 | 正确写法 | 原因 |
|---|---|---|
{"a": 1,} | {"a": 1} | 不允许末尾逗号 |
{'a': 'b'} | {"a": "b"} | 只能用双引号 |
{a: 1} | {"a": 1} | 键也要加引号 |
{"a": undefined} | {"a": null} | undefined 不是JSON值 |
// 注释 | (删除) | 不允许注释 |
为什么大数字会被改变
JavaScript自带的 JSON.parse 无法精确表示大于 9,007,199,254,740,991(253−1)的整数,所以很多在线格式化工具会把 12345678901234567890 这样的ID悄悄变成 12345678901234567000。本工具按原样输出每个数字,值不会改变,并会提示是否存在这样的数字。
按钮说明
- 格式化 — 加上缩进和换行,方便阅读。
- 压缩成一行 — 去掉所有空白和换行,适合放进接口请求体。
- 按键排序 — 把每个对象的键按顺序排列,方便对比两个JSON。
- 转义为字符串/去除转义 — 把JSON变成带引号和反斜杠的字符串,或把日志里转义过的字符串还原成JSON。
常见问题
粘贴公司数据或令牌安全吗?
输入内容不会上传或保存,只在当前浏览器中处理。不过,生产环境的密码和令牌最好养成不粘贴到任何网页工具的习惯。
JSON和JavaScript对象有什么区别?
JSON是用于数据交换的格式,规则更严格:键和字符串必须用双引号,不能有末尾逗号、注释、undefined 和函数。