JSON 格式化工具
步 1 / 4
JSON formatter
粘贴一个 JSON 数据块(可为压缩格式、转义格式或直接来自日志行),即可按您选择的缩进深度进行美观排版。系统会在解析时验证数据,并显示错误的确切行与列位置。可选地按字母顺序对对象键排序,这能显著提升两个API响应间差异信息的可读性。
如何设置 JSON 格式
-
1
粘贴 JSON
无论是被精简、嵌入字符串内部,还是封装在 JSONP 回调函数中——解析器都能将其彻底解析。
-
2
选择缩进
2个空格、4个空格、一个制表符,或紧凑格式(适用于小数据量的单行显示)。
-
3
切换排序键
按字母顺序排列对象键,以便更轻松地对比两个响应结果。
-
4
复制或下载
一键复制至剪贴板,或另存为`.json`文件。
格式化器的功能
- 缩进格式优化:
{"a":1,"b":[1,2,3]}的缩进格式已正确调整。 - **字符串中的转义 JSON **:包含
"{\"nested\":true}"的 JSON 字符串可进行解包和格式化处理。 - ** JSONP 回调码**:
callback({...})被精简为{...}。 - “物料清单”及前导空白区域:已自动移除。
- 注释:采用“宽松”模式时可接受 JSONC 格式的
//和/* */注释,但这些注释将从输出结果中移除(严格 JSON 则不包含任何注释)。
为什么使用 PrettyPrint JSON
- Diffing:包含数千个键的单行 JSON 文档在
git diff设备中无法正常读取。这些键以精美排版的形式呈现,每个键均占一行。 - 调试:通过缩进功能,嵌套结构更便于视觉浏览。
- 文档规范:API示例应始终保持格式统一、顺序清晰,并在版本更新中保持一致。
- _configs: JSON 配置文件应在仓库中采用美观格式编写以提高可读性;运行时环境可解析任意格式。
缩进规则
| 上下文 | 标准缩进 |
|---|---|
npm package.json |
两个空格 |
| AWS CloudFormation | 2 个空间 |
| 旧版 Java / .NET | 4 个空格 |
| VCS 中的配置 | 2个空格(项目整体一致性最为重要) |
键排序存在争议:它能使差异文件更整洁,但会改变标准配置文件在磁盘上的顺序。请选定项目统一规范并严格遵守。
您将看到的验证错误
| 错误 | 修复 |
|---|---|
Unexpected token ' at position X |
您使用了单引号;请改为双引号 |
Unexpected end of JSON input |
缺少闭合括号或方括号 |
Unexpected token , at position X |
后置逗号;请删除它 |
Unexpected token a at position X |
未引号键或 NaN/undefined 字面值 |
Duplicate key "foo"(宽松模式) |
JSON 规范支持该模式;多数解析器均保留最后一个参数 |
常见错误
- 使用HTML实体复制 JSON 时。
"无法解析,请先进行解码。 - **严格与宽松并用。**仅在检查阶段使用宽松解析;切勿将宽松 JSON 保存至生产配置文件中。
- 以不同样式对已格式化的文件进行二次格式化。 格式化工具会自动完成此操作,但会产生明显的差异输出。
常见问题
不。解析和格式化操作均在您的浏览器中完成,内容始终保留在当前标签页内——非常适合粘贴包含令牌、内部配置或测试负载的API响应。
格式化器会将有效的 JSON 以美观的形式呈现;验证器则依据 JSON 模式进行检查。两者均执行解析验证,但验证是一个独立步骤,其核心问题是“这是否符合我的模式?”而非仅关注“这是否为有效的 JSON ?”。
是的。“排序键”选项会在每个嵌套层级递归地对所有对象键进行排序。数组会保持其原始顺序,因为在 JSON 中数组顺序具有语义意义。
受浏览器内存限制:在现代硬件上,最大支持约50 MB的文件大小;若超过此范围,请使用命令行中的jq工具——该工具会实时流式传输而非加载整个文档。