当前语言: 中文 切换为英文

JSON 格式化、压缩与校验工具

将 JSON 粘贴到下方,即可格式化、压缩或校验。

  1. 在上方输入框中粘贴或键入你的 JSON。
  2. 点击「格式化」以带缩进的形式排版。
  3. 点击「压缩」去掉空白,或点击「校验」检查是否存在语法错误。
  4. 处理完成后即可复制或下载结果。
它能做什么?

「格式化」用一致的缩进(2 个空格、4 个空格或制表符,由你选择)重新排版 JSON。「压缩」去掉所有多余字符,使输出尽可能紧凑,便于在 URL 中嵌入 JSON、将其存入单个数据库列,或减小 API 载荷大小。「校验」会检查输入是否符合 JSON 规范,并精确指出任何语法错误所在的行和列。

示例

压缩后的输入:

{"name":"Ada","skills":["math","logic"],"active":true}

以 2 个空格缩进格式化后:

{
  "name": "Ada",
  "skills": ["math", "logic"],
  "active": true
}

常见 JSON 错误及其修复方法

绝大多数「无效 JSON」错误都来自这些原因。校验器会指出错误所在的行与列,一旦知道该找什么,具体原因通常一目了然。

  • 末尾多余的逗号。 {"a": 1, "b": 2,} 无效。JSON 不允许对象或数组的最后一项后面加逗号。
  • 使用单引号。 {'a': 1} 无效。JSON 的字符串和键必须使用双引号。
  • 键未加引号。 {a: 1} 无效 —— JavaScript 对象字面量允许这样写,但 JSON 不允许。
  • 缺少逗号。 {"a": 1 "b": 2} 无效。每个同级元素之间都需要逗号分隔。
  • 注释。 // 这种或 /* 这种 */ 注释不允许出现在严格 JSON(RFC 8259)中。请删除注释或改用 JSONC 解析器。
  • 花引号。 从文字处理软件复制粘贴时,有时会把 " 换成花引号,JSON 不接受这些字符。请重新键入引号,或先通过纯文本编辑器粘贴一遍。
常见问题

我的 JSON 看起来没问题,为什么被判定为无效?

大多数「无效」错误来自四个原因之一:数组或对象最后一项后面多了逗号,使用单引号而非双引号,对象键没加引号,或项之间缺少逗号。校验器会精确指出问题的行和列,便于你直接跳到那里修正。

「格式化」和「压缩」有什么区别?

「格式化」会加上缩进和换行,使 JSON 易读。「压缩」会去掉所有空白,让输出尽可能小,适合把 JSON 嵌入 URL 或减小网络载荷。两者生成的 JSON 在语义上完全相同,只有空白不同。

这个工具能处理非常大的 JSON 文件吗?

可以,视浏览器能力而定。现代浏览器能轻松解析几十 MB 的 JSON。瓶颈通常是把结果渲染到文本框里,而不是解析本身。超过 50 MB 的文件,格式化时标签页可能会短暂卡顿。

支持带注释的 JSON(JSONC 或 JSON5)吗?

不支持。本工具遵循严格 JSON 规范(RFC 8259),不允许注释、末尾逗号或单引号字符串。如果你有 JSONC 或 JSON5 输入,请先去除非标准语法,或改用对应方言的专用解析器。

格式化会改变键的顺序吗?

不会。输出保持与输入相同的键顺序。JavaScript 对字符串键的对象遍历是有序的,本工具在格式化时不会排序或重排任何内容。

你们会保存我在这里粘贴的 JSON 吗?

不会。我们不会保存你粘贴的任何 JSON。无论你使用格式化、压缩还是校验,关闭或刷新页面的那一刻内容就会被丢弃 —— 没有日志,也没有关于你载荷的任何记录。如果想进一步确认,可以在浏览器开发者工具中自行检查。