关于 JSON 格式化
JSON(JavaScript 对象表示法)是 Web 上最常见的数据交换格式。来自 API 的 JSON 通常是压缩的——全在一行且没有空格——难以阅读。美化添加一致的缩进,便于浏览其结构。
压缩删除所有不必要的空白,减少传输文件大小。验证检查文本是否是语法正确的 JSON:括号匹配、带引号的键、逗号位置和值类型。
粘贴 JSON,一键美化、压缩或验证。
JSON(JavaScript 对象表示法)是 Web 上最常见的数据交换格式。来自 API 的 JSON 通常是压缩的——全在一行且没有空格——难以阅读。美化添加一致的缩进,便于浏览其结构。
压缩删除所有不必要的空白,减少传输文件大小。验证检查文本是否是语法正确的 JSON:括号匹配、带引号的键、逗号位置和值类型。
格式化 JSON 时,把文本解析成数据结构,再用统一的换行和缩进(常见为 2 个空格)重新输出;压缩时则把同一结构重新输出,不带任何多余空白。例:{"a":1,"b":2} 格式化后变成 4 行、每层缩进 2 个空格的结构,压缩后又变回 {"a":1,"b":2}。
| 输入 | 格式化后(缩进 2 空格) | 压缩后 |
|---|---|---|
| {"a":1,"b":2} | {⏎ "a": 1,⏎ "b": 2⏎} | {"a":1,"b":2} |
| [1,2,3] | [⏎ 1,⏎ 2,⏎ 3⏎] | [1,2,3] |
| {"x":{"y":true}} | {⏎ "x": {⏎ "y": true⏎ }⏎} | {"x":{"y":true}} |
常见的隐藏错误包括最后一项后面多了一个逗号、用单引号而不是双引号包裹键和字符串,或者键没有加引号——这些在 JavaScript 对象字面量里都合法,但在严格的 JSON 中不允许。校验器遵循严格的 JSON 语法,即使文本看起来很像合法的 JavaScript,也会判定失败。
JSON 是一种语法严格的文本数据格式:键必须是双引号字符串,不允许末尾多余逗号,且只允许固定的几种值类型(字符串、数字、布尔值、null、对象、数组)。JavaScript 对象字面量的语法更宽松,还允许不加引号的键、末尾逗号、函数和注释,而这些都不是合法的 JSON。
不会。压缩只是去掉不属于任何字符串值的空白字符,解析出的数据结构以及它所表达的含义在压缩前后完全一致,只是传输或存储所需的字节数发生了变化。
可以。格式化功能对任意深度的对象和数组都会递归处理,每深入一层就多缩进 2 个空格,无论结构嵌套多深,可读性都能保持。
本工具按 RFC 8259 定义的标准 JSON 进行校验和重新格式化,不支持 JSON5、JSONC(带注释)等宽松的 JSON 变体;体积很大的输入(几兆字节以上)在浏览器中处理可能会比较慢。
Sources: RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format, ECMA-404 - The JSON Data Interchange Syntax
最后更新: 2026-08-24
格式化会添加缩进与换行,压缩会删除不影响语法的空白,正常情况下都不应改变JSON表示的数据。若解析失败,应从错误位置附近检查双引号、逗号、括号、反斜杠和控制字符,并记住JSON并不接受所有JavaScript对象写法。先保存未修改原文,再做最小修正;不要一次自动替换大量引号或删除换行,否则可能掩盖数据在上游被截断的问题。格式化前后可在目标解析器中分别读取并比较数据结构,而不是只看页面排版更整齐。
语法正确后,还要依据目标API或Schema检查键名、必填字段、类型、允许值和嵌套关系。重复键在不同解析器中可能被覆盖或拒绝,超大整数和小数也可能因运行环境的数值模型失去精度;对象键顺序通常不应被当作业务含义。日志、配置和接口响应可能包含令牌、个人资料或内部地址,粘贴前应依组织政策脱敏。页面不会调用实际API、验证签名或证明数据可信。提交前要在消费该JSON的程序中运行Schema、单元测试和安全检查,并为大型文件考虑内存与超时限制。若需要稳定比较输出,不要假设格式化后的键顺序等于来源顺序,应先定义规范化方案。错误信息也可能包含原始数据片段,复制到工单前同样要脱敏,并用最小可复现样例替代整份生产响应。