什么是 JSON 格式化?
JSON(JavaScript Object Notation)是一种轻量、基于文本的数据交换格式,由 RFC 8259 和 ECMA-404 定义。JSON 文档是一棵由六种值类型组成的树——object、array、string、number、boolean 和 null。格式化为人类阅读添加空白;压缩则去除这些空白,让机器在网络上传输得更快。
JSON 格式化是如何工作的?
你的输入完全在浏览器中处理,使用内置的 JSON.parse 和 JSON.stringify 函数。主要步骤如下:
- 从文本框读取输入,并去除首尾的空白。
- 浏览器用
JSON.parse解析输入。如果输入不是有效 JSON,解析器会抛出一个SyntaxError,被捕获后会以错误发生的行号和列号显示出来。 - 当输入有效时,解析得到的值会用
JSON.stringify(value, null, indent)重新输出,其中indent是你所选择的缩进(2 个空格、4 个空格或一个制表符)。 - 压缩时,调用
JSON.stringify(value)时不带缩进参数,得到同一个值的最短合法形式,没有无意义的空白。 - 输出写入只读文本框,状态面板会显示 JSON 有效,或者展示精确的解析错误,方便你直接修复源文件。
为什么使用此工具格式化 JSON?
- 隐私:每次解析、格式化和压缩都在你的浏览器中完成。JSON 永远不会进入我们的服务器。
- 即时验证:错位的逗号、未加引号的键名、单引号和多余的尾逗号都会以精确的行号和列号上报,让你直接定位 bug。
- 评审友好的输出:缩进一致的 JSON 在代码评审中产生干净的差异,并生成易读的配置文件。
- 面向生产的压缩:剔除无意义的空白,能在发布前减小 API 负载、清单文件和内嵌测试数据的体积。
JSON 格式化的常见应用有哪些?
在 Web 开发和工具链的许多场景中都会读写 JSON:
- 调试 API:把
curl或网络面板返回的原始响应粘贴进来,确认结构、查找键名拼写错误或定位缺失的右括号。 - 整理配置:重新缩进手写的
package.json、tsconfig.json或 CI 清单,让它们通过评审和 linter。 - 查看日志:把紧凑的
application/json日志行重新格式化,让字段对齐显示,然后再压缩一次贴到工单中。
JSON 格式化示例是什么样的?
把 {"id":42,"name":"Ada Lovelace","email":"ada@example.com","roles":["admin","engineer"]} 粘贴进来,按下使用 2 空格缩进的“格式化”按钮后,它会展开为九行,每个对象字段和数组元素各占一行。再按“压缩”就能把它逐字节恢复成相同的紧凑字符串。
本 JSON 格式化工具使用与你的 Node.js、Deno 或浏览器运行时相同的引擎进行解析,输出可以直接粘贴回代码、配置或日志中。