JSON 格式化、校验与压缩

粘贴 JSON:立即校验,出错时指出具体的行和列,然后一键格式化或压缩。所有处理都在浏览器中完成,机密数据也可以放心使用。

  • 免费
  • 错误定位到行列
  • 树形视图
  • 数据不上传

✓ JSON 有效 · 162 字节

{
  "name": "Chatzam",
  "free": true,
  "tools": 66,
  "languages": [
    "fr",
    "en",
    "es"
  ],
  "owner": {
    "country": "FR",
    "since": 2024
  }
}

100% 隐私保护 — 一切均在您的浏览器中直接处理:您的文件、语音和图像永远不会发送到 Chatzam 的服务器。

如何格式化和校验 JSON?

  1. 粘贴 JSON

    把内容粘贴到输入框中:立即进行校验。

  2. 修正或格式化

    如有错误,会显示所在的行和列。否则可以用 2 个或 4 个空格或制表符缩进、压缩,或按键名排序。

  3. 复制或下载

    一键复制结果,或下载为 .json 文件。树形视图可以逐层展开浏览数据。

阅读和修正 JSON 的得力工具

精确校验

清楚地说明哪里出错、错在第几行第几列,几秒钟就能修好。

格式化或压缩

用 2 个或 4 个空格或制表符缩进,方便阅读;压缩成去掉空白的紧凑版本,方便传输。

键名排序

按字母顺序排列键名:便于比较两个 API 响应或两份配置文件。

可折叠的树形视图

即使 JSON 很长,也可以只展开您关心的对象和数组。

最常见的 JSON 错误

JSON 比 JavaScript 更严格。键名和字符串必须使用双引号:{'name': '小明'} 是无效的,{"name": "小明"} 才正确。最后一个元素后面不能有逗号,比如 [1, 2, 3,] 就不合法;也不允许使用 // 或 /* */ 注释。true、false 和 null 必须小写;JSON 中没有 undefined、NaN 和 Infinity。另一个陷阱:字符串中的双引号和反斜杠必须转义(\" 和 \\),换行要写成 \n。还要注意中文输入法:全角的逗号、冒号和引号(,:“”)会导致解析失败。当校验器报错时,也要看看报错位置之前:往往是上一行末尾漏了一个逗号。

格式化还是压缩:怎么选?

格式化后的 JSON 易于阅读:每一层嵌套按项目约定缩进 2 个空格、4 个空格或一个制表符。2 个空格是 Web 开发中最常见的选择,4 个空格在 Python 生态中很常见。压缩则相反:在不改变数据的前提下去掉空格、制表符和换行,得到最紧凑的文本,用于发送请求、存储,或放进环境变量。对程序来说,两种版本完全等价:只是可读性不同。阅读和调试时格式化,传输时压缩。

键名排序与树形浏览

根据 JSON 标准(RFC 8259),对象是无序的集合:{"a": 1, "b": 2} 和 {"b": 2, "a": 1} 表示相同的数据。因此,按字母顺序排列键名后,就能逐行比较两个 API 响应或两份配置文件,不受顺序不同的干扰。树形视图用于浏览大型 JSON:折叠庞大的数组,只展开需要的分支,快速找到深层嵌套的值。由于一切都在浏览器中处理,您可以放心粘贴客户数据、内部导出文件或敏感的 API 响应:数据不会发送到服务器。

常见问题

怎么判断我的 JSON 是否有效?

把它粘贴到工具中:立即完成校验。如果无效,提示信息会给出错误及其所在的行和列。

为什么我的 JSON 无效?

最常见的原因:用了单引号而不是双引号、键名没有加引号、最后一个元素后多了逗号、包含注释,或者混入了中文全角标点。请查看提示的位置,以及上一行的末尾。

如何压缩 JSON?

粘贴后选择压缩:空格和换行会被去掉,数据保持不变。复制结果或下载为 .json 文件即可。

JSON 应该用几个空格缩进?

2 个空格是最普遍的约定;4 个空格或制表符也可以。这只关乎可读性:数据本身不会改变。

我的 JSON 数据会被发送到服务器吗?

不会。校验和格式化都在您的浏览器中完成:即使是机密数据,也不会离开您的设备。

其他免费工具

查看所有免费工具 →