先记住这三点
- 格式化改变空白和缩进,目标是提高可读性,不应改变字段和值。
- 压缩删除非必要空白,适合传输和存储,但不等于加密或压缩算法。
- 校验判断语法是否合法;业务字段是否正确,还需要 Schema 或业务规则检查。
格式化、压缩和校验的核心区别
JSON 格式化也叫美化或 Pretty Print,它通过换行和缩进展示层级。JSON 压缩通常指 Minify,只删除不影响数据含义的空格、换行和缩进。JSON 校验则尝试解析文本,判断语法是否符合标准。
只要实现正确,格式化和压缩应该可以互相转换,解析后的数据结构保持一致。它们不会自动修改错误字段、补全缺失数据,也不会判断邮箱、金额、状态码等业务值是否合理。
| 操作 | 主要目的 | 是否改变数据结构 | 典型场景 |
|---|---|---|---|
| 格式化 | 提高阅读和排错效率 | 不应改变 | 接口调试、日志阅读、代码审查 |
| 压缩 | 减少空白字符 | 不应改变 | 网络传输、配置落盘、缓存 |
| 语法校验 | 判断是否为合法 JSON | 不修改 | 提交前检查、定位解析错误 |
| 错误修复 | 恢复常见非标准写法 | 可能改变文本结构 | 尾逗号、单引号、缺失引号 |
同一份 JSON 的格式化与压缩结果
下面两段文本解析后应得到完全相同的对象。格式化版本更适合人阅读;压缩版本字符更少,但体积差异通常远小于开启 HTTP gzip 或 Brotli 后的传输压缩效果。
{
"service": "orders",
"status": "ok",
"items": [
{ "id": "A-1001", "quantity": 2 }
]
}{"service":"orders","status":"ok","items":[{"id":"A-1001","quantity":2}]}API JSON 的实用调试流程
调试接口时,可以先保留原始响应和请求信息,再对响应体执行格式化。树形视图适合查看深层对象和数组;文本视图适合搜索字段、复制片段和比较差异。遇到解析错误时,应回到原始响应检查状态码、响应头和完整性。
当接口数据需要提交到工单、聊天工具或公开环境时,应先移除 Token、Cookie、手机号、邮箱和内部地址。格式化不会自动完成脱敏。对于敏感数据,优先选择浏览器本地处理的工具。
- 记录请求 URL、方法、状态码、Content-Type 和响应耗时。
- 保留未经修改的响应体,便于复现和对比。
- 格式化后检查顶层类型、错误字段和数组数量。
- 使用校验确认语法,再按业务规则检查必填字段。
- 分享响应前主动脱敏,不要把格式化等同于安全处理。
JSON 压缩时需要注意什么
Minify 不是 ZIP、gzip 或 Brotli,也不是加密。它只是删除 JSON 语法允许省略的空白字符,任何拿到文本的人仍然可以重新格式化。真正减少网络体积,应在 HTTP 层启用 gzip 或 Brotli。
不要使用简单正则表达式删除所有空格,因为字符串值内部的空格属于数据。例如 "displayName": "Tool Tics" 中间的空格不能删除。正确做法是先解析,再重新序列化。
边看边操作
打开在线 JSON 格式化与压缩工具
在本地完成美化、Minify、语法校验和树形预览,不上传输入内容。
FAQ
常见问题
JSON 压缩后会影响接口读取吗?
正确压缩只删除非必要空白,不会改变解析结果。但如果用正则直接删除所有空格,可能破坏字符串值,因此应使用标准解析和序列化方式。
JSON 格式化是否等于校验成功?
大多数工具会先解析再格式化,因此成功格式化通常代表语法合法;但它不能证明字段类型、必填项和业务值符合接口约定。
压缩 JSON 能保护敏感数据吗?
不能。Minify 不提供加密或脱敏能力,压缩后的 JSON 可以轻松恢复成可读格式。