JSON 格式化与校验器
在下方粘贴 JSON,即可格式化、压缩或校验。所有操作都在浏览器本地完成 — 您的数据绝不会离开设备。
一句话理解 JSON:它是由六种值类型构成的文本格式 — object、array、string、number、true/false 和 null。键和字符串必须用双引号,文档里不允许有注释,最后一项后面也不能有逗号。
✅ 快速回答
{ "a": 1 } 是合法的。{ 'a': 1 }、{ a: 1 }、{ "a": 1, } 和 // comment 全都不合法 — 那些是 JavaScript 或 JSON5 的写法,不是 JSON。
判断准则:格式化与压缩从不改变数据,只是在标记之间增加或删除空白。如果文档被拒绝,那就一定是真实的语法错误,校验器会指出解析停止的确切行号和列号。
常见问题
什么是 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" | 只能用双引号。内部的引号、反斜杠或换行必须用反斜杠转义,这样含这些字符的字符串仍然保持在一行内。 |
| number | 123 / 1.5 | 不支持 NaN、Infinity、前导零和十六进制字面量。 |
| boolean | true / false | 只能小写 — True 是 Python 的写法,不是 JSON。 |
| null | null | 唯一的空值;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 让结构化数据保持可读 — 这些工具让它保持正确。