跳转到主内容
指南

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% 浏览器处理 — 你的数据永远不离开你的设备