JSON格式化与校验工具

粘贴JSON即可美化、压缩,或准确找出出错位置。全部在浏览器中运行,不上传任何内容。

JSON输入

缩进
在你的设备上校验。JSON从不上传。

输出

JSON有效
大小
—
键数
—
嵌套层级
—
下载 .json

如何使用 JSON 格式化工具

这款 JSON 格式化工具在你粘贴的同时检查并美化 JSON,让你无需安装任何软件,就能阅读 API 响应、修复配置文件或整理测试数据。

  1. 把 JSON 粘贴到输入框中,或点击加载示例试一试。
  2. 选择缩进方式:2 个空格(JavaScript 项目常用)、4 个空格(Python 和 Java 常用)或Tab。
  3. 选择格式化得到易读的输出,或选择压缩得到最短的文本。
  4. 点击复制,或点击下载 .json 把结果保存为文件。

如果 JSON 有错误,输出框会显示错误信息,包括行号和列号,以及一小段摘录,并用插入符(^)标出确切位置。

常见 JSON 错误及修复方法

JSON 看起来像 JavaScript,但规则严格得多。大多数“JSON 无效”错误都由以下问题引起:

错误写法正确写法原因
{'name': 'Ana'}{"name": "Ana"}字符串和键名必须用双引号。
{name: "Ana"}{"name": "Ana"}键名必须加引号。
[1, 2, 3,][1, 2, 3]最后一项后面不能有逗号。
{"a": 1 "b": 2}{"a": 1, "b": 2}各项之间用逗号分隔。
{"n": 007}{"n": 7}数字不能有前导零。
{"ok": True}{"ok": true}true、false 和 null 必须小写。
// comment(删除)注释不属于 JSON。

当错误指向某一行时,真正的问题往往就在它前面。例如缺少逗号,解析器要读到下一个值时才会发现。

格式化工具的工作原理

工具按照 JSON 标准(RFC 8259)逐个字符读取你的文本,一边读一边生成格式化后的输出,遇到第一个违反规则的地方就停下。因为它从不把值转换成 JavaScript 数字,所以 64 位 ID 这类超大数字和很长的小数都会完全按原样保留,像 \u00e9 这样的转义序列也不会被改动。

输出下方的数字分别显示结果大小、所有对象中键的总数,以及最深的嵌套层级。深层嵌套对机器来说没问题,但可能说明数据结构比实际需要的更复杂。

格式化还是压缩?

下面是同一个对象的两种写法:

{"id":7,"tags":["a","b"]}

{
  "id": 7,
  "tags": [
    "a",
    "b"
  ]
}

在网络传输中,gzip 或 Brotli 压缩已经能很好地去除空白,所以压缩 JSON 主要是为了满足存储限制和请求大小,而不是提高下载速度。

隐私与限制

你的 JSON 只在浏览器标签页中处理,不会上传或记录。几 MB 的文件也能正常处理,不过在较慢的手机上,超大输入需要稍等片刻才能完成格式化。即便如此,在不必要时,也不要把正在使用的密码或私钥粘贴到任何网站上,包括本站。

常见问题

怎么在线格式化JSON?

把JSON粘贴到输入框,选择缩进(2空格、4空格或Tab),点击“格式化”。结果可以复制或下载。

为什么我的JSON无效?

最常见的原因是末尾多了逗号、用了单引号而不是双引号、漏了逗号或括号没有闭合。校验器会指出行号、列号和问题所在。

压缩JSON是什么意思?

去掉所有不必要的空格和换行,让文件更小。数据本身不会改变。

JSON允许注释或末尾逗号吗?

不允许。标准JSON不支持注释,也不能在最后一个元素后加逗号,必须删除才能通过校验。

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

不会。格式化和校验都在浏览器中完成,数据不会离开你的设备。