调接口时 API 返回的 JSON 数据经常是压缩成一行的——几千个字符挤在一起,大括号套小括号,根本看不出层级关系。复制到记事本也是一团乱麻。写 JSON 配置文件时,少了个引号或多了个逗号,报错信息又看不懂。
纳米工房的JSON 格式化工具可以一键把压缩的 JSON 变成带缩进的结构化格式,还能校验语法错误并精确定位到行和列、用 Tree 视图浏览深层嵌套数据。纯浏览器处理,数据不上传服务器。
核心功能一:格式化 + 压缩
格式化,右侧立刻显示带缩进和语法高亮的结果压缩 即可——适合把格式化后的 JSON 复制到代码或配置中缩进支持 2 空格、4 空格、8 空格和 Tab 四种选项。大多数团队用 2 或 4 空格,看你的项目规范。
核心功能二:语法校验和错误定位
JSON 对语法的要求极其严格,很多写法在 JavaScript 里合法但在 JSON 里是错的。以下是最常见的"坑":
| 错误 | 错误写法 | 正确写法 | 踩坑场景 |
|---|---|---|---|
| 尾逗号 | {"a":1, "b":2,} | {"a":1, "b":2} | 从 JS 对象复制过来 |
| 单引号 | {'name': 'test'} | {"name": "test"} | Python dict 转 JSON |
| 无引号键名 | {name: "test"} | {"name": "test"} | 从 JS 复制 |
| 注释 | // comment | (删掉注释) | 从配置模板复制 |
| 前导零 | {"code": 01} | {"code": 1} | 手动编写 |
| undefined/NaN | {"v": undefined} | {"v": null} | JS 序列化遗漏 |
粘贴有问题的 JSON 后点格式化或校验,工具会精确定位到第几行第几列出了问题,并高亮错误字符的上下文。比肉眼在几千行 JSON 里找错字快得多。
核心功能三:Tree 视图
API 返回的 JSON 经常有 3-5 层嵌套,格式化后虽然好看了,但要找某个深层字段还是得上下滚动。这时候切换到右侧的 TREE 标签页:
数据会以可折叠的树形结构展示——点击三角形展开/收起节点,一眼看清层级关系。更实用的是:点击任意节点可以复制它的 JSONPath,比如 $.data.users[0].name,直接粘贴到代码里用。
对接一个新 API,返回了一大坨嵌套 JSON,文档又写得不清楚。把响应粘贴到工具里,切到 Tree 视图,逐层展开就能看清数据结构——哪些是数组、哪些是对象、字段名叫什么、层级怎么嵌套。比看文档直观。
其他实用功能
| 功能 | 说明 | 使用场景 |
|---|---|---|
| Key 排序 | 按字母顺序重排 JSON 对象的键 | 比较两个 JSON 差异前先排序 |
| 转义 | 把文本转为 JSON 字符串格式(加引号和转义符) | 把多行文本嵌入 JSON 字段值 |
| 反转义 | 把 JSON 字符串解析为原始文本 | 读取 JSON 中被转义的 HTML/SQL |
| 一键复制 | 复制格式化/压缩后的结果 | 粘贴到代码、配置文件、文档 |
五个典型使用场景
后端返回数据不对,但压缩成一行根本看不清。粘贴到工具格式化后,快速定位字段值是否正确、层级结构是否符合预期。
package.json、tsconfig.json、VS Code settings.json 等配置文件经常需要手动修改。改完后粘贴到工具校验一下,避免因为一个尾逗号导致项目启动失败。
先把两份 JSON 分别格式化 + Key 排序,然后用文档对比工具逐行对比差异。排序后能消除 Key 顺序不同导致的误报。
写接口文档时,把 JSON 示例粘贴到工具格式化后截图或复制,比直接贴压缩的 JSON 可读性好得多。
从日志中拿到一段 JSON,需要找到某个字段的值。粘贴 → 格式化 → Tree 视图 → 点击目标节点 → 复制值。几秒钟搞定。
数据安全
所有操作都在浏览器本地完成,JSON 数据不会发送到任何服务器。这一点在处理包含敏感信息(API Key、用户数据、内部接口返回)的 JSON 时尤其重要——你不需要担心数据泄露给第三方。
常见问题
粘贴后点格式化没反应?
通常是因为 JSON 语法有错误。工具会在输入框下方显示错误信息和位置。先修正语法错误再格式化。最常见的问题是从代码里复制出来的对象带有单引号或尾逗号。
JSON 太大,粘贴后页面卡顿?
工具在浏览器端处理,超大 JSON(>10MB)可能会导致页面响应变慢。建议先用压缩模式减小数据量,或者只粘贴你需要查看的部分。
想在 JSON 里写注释怎么办?
JSON 标准不支持注释。如果你需要带注释的配置文件,可以考虑使用 JSON5 或 JSONC 格式(VS Code 的 settings.json 就是 JSONC)。但标准 JSON 解析器不认这些格式——发给 API 之前务必删掉所有注释。