JSON 格式化与校验器

在下方粘贴 JSON,即可格式化、压缩或校验。所有操作都在浏览器本地完成 — 您的数据绝不会离开设备。

一句话理解 JSON:它是由六种值类型构成的文本格式 — object、array、string、number、true/false 和 null。键和字符串必须用双引号,文档里不允许有注释,最后一项后面也不能有逗号。

✅ 快速回答

{ "a": 1 } 是合法的。{ 'a': 1 }、{ a: 1 }、{ "a": 1, } 和 // comment 全都不合法 — 那些是 JavaScript 或 JSON5 的写法,不是 JSON。

判断准则:格式化与压缩从不改变数据,只是在标记之间增加或删除空白。如果文档被拒绝,那就一定是真实的语法错误,校验器会指出解析停止的确切行号和列号。

试试示例:
0输入字符数
0输出字符数
0输出行数
—体积比

常见问题

什么是 JSON 格式化?

JSON 格式化(美化打印)会为原始 JSON 添加统一的缩进和换行,使其易于阅读和调试。原始 JSON 通常写在一行里;格式化会把它拆分成清晰的层级结构。

用 JSON 格式化器处理敏感数据安全吗?

安全。所有操作都在浏览器本地完成 — 您的 JSON 绝不会上传到任何服务器,因此可以放心粘贴 API 响应、配置文件等敏感数据。

压缩后的 JSON 是什么样子?

压缩会移除所有不必要的空白、缩进和换行,将数据压缩到尽可能小的表示形式。它常用于对体积敏感的 API 请求体。

如何修复无效的 JSON?

把 JSON 粘贴到格式化器中并点击「格式化」。如果无效,校验器会显示错误的确切行号和列号并附上提示信息,方便您修复缺少逗号、键未加引号、多余的尾逗号等问题。

JSON 格式化器免费吗?

完全免费,无需注册即可在浏览器中使用,只要浏览器能处理,任意大小的 JSON 都可以。

JSON 和 JavaScript 对象有什么区别?

两者看起来很像,但规则不同。JSON 是文本格式:键和字符串必须用双引号,值只能是对象、数组、字符串、数字、true/false 或 null;而 JavaScript 对象允许单引号、不加引号的键、函数和 undefined。所以 JS 对象字面量往往不是合法 JSON。

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

不允许。JSON 规范(RFC 8259)既不支持注释,也不支持在对象或数组的最后一项后加逗号。这两点恰好是最常见的报错原因 — 它们来自 JavaScript 或 JSON5 的习惯。

JSON5 和 JSONC 是什么?

JSON5 和 JSONC 是 JSON 的宽松超集,主要用于手写的配置文件。JSON5 增加了注释、尾逗号、单引号、不加引号的键;JSONC 是被广泛使用的"带注释的 JSON"。它们都不是标准 JSON,浏览器和接口通常不接受,发送前需要先去掉这些额外语法。

格式化会改动我的数据吗?

不会。格式化与压缩只改变标记之间的空白。键的顺序、数值、数字精度和字符串内容都会原样保留,因此格式化后的文档与原文在语义上完全等价。

导致 JSON 无效的最常见原因有哪些?

常见的几个是:闭合花括号或方括号前多了一个逗号;键或字符串用了单引号;对象的键没有加引号;写了 // 注释;以及把 NaN、Infinity、True、None 这类其他语言的字面量直接粘了进来。

JSON 格式化与校验器 — 让 JSON 更整洁、更易调试

当您能一眼看清 JSON 的结构时,处理起来会轻松得多。我们的免费 JSON 格式化器能用整齐的缩进美化压缩数据,精确定位语法错误,并可将格式化后的 JSON 压缩回紧凑形式,方便 API 与存储使用。无需注册、无需上传、没有限制。

为什么要用我们的 JSON 格式化器?

  • 一键把杂乱的 JSON 变成可读的树形结构。
  • 即时校验语法,并显示精确的错误行号和列号。
  • 压缩格式化后的 JSON,减小 API 请求体和存储体积。
  • 支持 2 空格、4 空格或 Tab 缩进。
  • 100% 私密 — 所有操作都在浏览器本地完成。
  • 完全免费,无需注册,没有使用限制。

JSON 工具的常见用途

  • 调试 REST 或 GraphQL 接口返回的 API 数据。
  • 阅读和编辑 package.json、.prettierrc 等配置文件。
  • 在分享或分析前整理导出的数据。
  • 在嵌入代码或网络传输前压缩 JSON。
  • 学习 JSON 语法 — 看看有效的 JSON 文档长什么样。

JSON 语法速查表

类型 示例 说明
object{"a":1}键必须是双引号字符串;本工具会保留顺序,但规范并不保证顺序。
array[1,2]有序列表;可以混合类型,也可以为空。
string"text"只能用双引号。内部的引号、反斜杠或换行必须用反斜杠转义,这样含这些字符的字符串仍然保持在一行内。
number123 / 1.5不支持 NaN、Infinity、前导零和十六进制字面量。
booleantrue / false只能小写 — True 是 Python 的写法,不是 JSON。
nullnull唯一的空值;JSON 里没有 undefined。

只有这六种值类型,没有别的。任何不在此列的东西 — 函数、日期、注释 — 都必须先编码成字符串或数字,才能作为 JSON 传输。

常见 JSON 错误及修复方法

错误 原因 修复
{"a":1,}闭合花括号或方括号前多了一个逗号。删掉最后一项后面的那个逗号。
{'a':1}使用了单引号 — JavaScript 里合法,JSON 里不合法。所有键和字符串都改用双引号。
// comment注释不属于 JSON 语法。删除注释,或把文件保留为 JSONC,发送前再剥离掉。
{a:1}对象的键没有加引号。写成 "a":1。
NaN / Infinity无法表示为 JSON 数字。改用 null,或把该值作为字符串发送。
True / None把 Python 字面量粘进了 JSON。改用小写的 true / false / null。

以上每一条都是语法错误而非数据问题,因此校验器能精确指出行号和列号,而不是只说一句"无效"。

无论您是调试接口的开发者、整理 JSON 导出的数据分析师,还是正在学习 JSON 语法的学生,这个格式化器都能满足您的需求。它快速、可靠,而且每天都可以免费使用。

也在处理编码后的数据?当 JWT 或 data URI 需要解码时,可以配合使用 Base64 编解码器;当 JSON 里的值要穿过查询字符串时,用 URL 编解码器;在保存任何密钥之前,先用 密码生成器。JSON 让结构化数据保持可读 — 这些工具让它保持正确。