JSON 格式化与校验完全指南
· 6 分钟阅读
JSON(JavaScript Object Notation)已经成为数据交换的事实标准。无论你在调试 API、解析配置文件还是传输数据,JSON 几乎无处不在。
但原始 JSON 几乎不可读。这就是为什么格式化工具是开发者的必备。
为什么 JSON 难以肉眼阅读
API 通常返回压缩后的 JSON:
{"name":"BoxrTools","tools":[{"slug":"json-formatter","category":"developer"},{"slug":"regex-tester","category":"developer"}],"stats":{"version":1,"free":true}}
技术上完全合法,但你要找任何一个字段都得数括号。
格式化后:
{
"name": "BoxrTools",
"tools": [
{ "slug": "json-formatter", "category": "developer" },
{ "slug": "regex-tester", "category": "developer" }
],
"stats": { "version": 1, "free": true }
}
同一个数据,一眼就能看清结构。
5 个常见 JSON 错误
1. 尾随逗号
{ "a": 1, "b": 2, } // ❌ 语法错误
JSON 不允许尾随逗号。JavaScript 允许,但 JSON 不允许。这是手工编辑时最常踩的坑。
2. 单引号
{ 'a': 1 } // ❌
JSON 只接受双引号。
3. 未引用的键名
{ a: 1 } // ❌
{ "a": 1 } // ✅
所有键必须用双引号包起来。
4. 把 undefined 序列化
JSON.stringify({ a: undefined }) // → '{}'
undefined 在 JSON 里不存在,序列化时会消失。
5. 循环引用
const a = {}; a.self = a;
JSON.stringify(a); // ❌ 抛错
JSON 无法表示循环结构。
何时用哪种缩进
- 2 空格 — 紧凑,适合嵌套深的数据
- 4 空格 — 更易读
- Tab — 个人偏好,文件大小略小
没有标准答案。重要的是同一项目内保持一致。
校验 ≠ 格式化
校验只问一个问题:“这是合法的 JSON 吗?“。格式化只做美化。
好的工具两者都做:先校验(如果无效就报清晰错误),再格式化(如果有效就美化)。
用我们的工具试试
我们的 JSON 格式化与校验工具 提供:
- 实时校验 + 清晰错误信息(带行号)
- 3 种缩进选择
- 可选按字母顺序排序键
- 一键压缩(minify)
- 100% 浏览器处理 — 你的数据永远不离开你的设备