JSON 格式化完整指南:在线美化、压缩、校验与排错
JSON 在 API 通信、配置文件、日志中无处不在。本教程从基础语法到常见错误排查,手把手讲清楚 JSON 格式化的全部用法。
JSON(JavaScript Object Notation)是当今互联网上最常用的数据交换格式之一,从微信小程序的 wx.request、企业级 REST API、到 Kubernetes 的配置清单,JSON 几乎覆盖所有需要传递结构化数据的场景。但 JSON 一旦被压缩成单行,或夹杂大量转义字符,对人类来说就是一团乱码。本指南教你如何用浏览器内的 JSON 格式化工具高效处理这些数据,包括美化、压缩、校验、错误定位与高级技巧。
什么是 JSON 格式化
JSON 格式化(也叫 JSON 美化、JSON beautify)是把紧凑无空白的 JSON 字符串重新排版成带缩进、换行的可读结构的过程。例如:
{"name":"张三","age":30,"tags":["dev","admin"]}
格式化后变成:
{
"name": "张三",
"age": 30,
"tags": [
"dev",
"admin"
]
}
反向操作叫 JSON 压缩(minify),把所有空白字符去掉以减少传输体积,常用于生产环境的 API 响应。
使用本工具的 5 个步骤
- 把 JSON 字符串粘贴到左侧输入框(支持多行嵌套结构)。
- 点击「格式化」按钮,右侧立即出现美化后的版本。
- 不确定 JSON 是否合法?点「校验」获取错误位置(精确到行列号)。
- 想压缩成单行?点「压缩」生成无空白版本,下方实时显示字符数。
- 复制按钮一键拷贝结果,或下载为 .json 文件。
所有处理都在你的浏览器本地完成,敏感数据(如 API token、用户信息)不会上传到任何服务器,可放心粘贴生产数据调试。
常见错误排查
JSON 解析失败时,本工具会高亮错误位置并提示原因。下面是开发中最常踩的 5 个坑:
- 尾随逗号:
{"a": 1,}不合法。标准 JSON 不允许在最后一个元素后留逗号,但 JavaScript 对象允许,初学者容易混淆。 - 单引号字符串:
{'name': 'Alice'}不合法。JSON 强制要求所有字符串和键名用双引号"。 - 未引号的键名:
{name: "Alice"}不合法。JSON 的键名必须是字符串(双引号包裹)。 - 未转义的特殊字符:字符串中的换行
\n、反斜杠\\、双引号\"都需要转义。 - 注释:标准 JSON 不支持
//或/ /注释。如需注释请使用 JSON5 或 JSONC(VS Code 的 settings.json 用的就是 JSONC)。
进阶用法
- JSON Path 查询:从大型 JSON 中提取特定字段,本站还有「JSON 路径查询」工具。
- JSON ↔ YAML/CSV 转换:使用「数据格式转换」工具一键互转,配置文件迁移常用。
- JSON 对比:两份 JSON 之间的结构化 diff(哪个 key 变了、哪个加了),看「JSON 对比」工具。
- Schema 校验:超出本工具范围,可用 ajv 等专业库做 JSON Schema 校验。
JSON 在前后端开发中的角色
前端发起 fetch 请求时,response.json() 把响应文本解析成对象;后端框架(如 Express、Spring Boot、Gin)则把请求体反序列化成结构化数据。每一次往返都涉及 JSON 的序列化与反序列化。开发阶段你会大量用到「格式化」(看清结构)、「压缩」(写测试用例时塞进单行)、「校验」(确认 mock 数据合法)这三个动作,本工具就是为这些场景设计的。
常见问题
JSON 格式化会改变数据本身吗?
不会。格式化只增删空白字符(空格、换行、缩进),数据的键、值、类型完全不变。压缩同理。
能处理多大的 JSON?
理论上仅受浏览器内存限制,实测几十 MB 流畅。大文件解析卡顿时可考虑流式 JSON 工具(如 jq)。
工具会上传我的数据吗?
不会。所有解析和格式化都在浏览器本地用 JavaScript 的 JSON.parse 完成。
想要 JSON5 / JSONC(带注释)支持?
本工具仅支持标准 JSON。如需 JSON5,可用 json5.parse;如需 JSONC,可手动去掉注释行后再粘贴。