JSON Pretty Print

使用可自定义缩进格式化 JSON,提高可读性

加载示例

输入

格式化输出

本地运行 · 粘贴密钥安全无忧
格式化后的 JSON 将显示在这里…

什么是 JSON Pretty Print?

JSON pretty print 将紧凑、难以阅读的 JSON 转换为整齐缩进的多行格式。机器可以轻松解析单行 JSON,而人类需要结构——视觉层次、对齐的括号和一致的缩进——才能快速理解复杂数据。

Before · json
After · json
{"user":"alice","role":"admin","permissions":["read","write"],"active":true,"lastLogin":1717200000}
{
  "user": "alice",
  "role": "admin",
  "permissions": [
    "read",
    "write"
  ],
  "active": true,
  "lastLogin": 1717200000
}

为什么要格式化 JSON?

来自 API、数据库和日志文件的原始 JSON 通常为节省带宽而进行了压缩。Pretty print 恢复了调试、审查和理解数据所需的人类可读结构,不再让眼睛受苦。

🔍
更快的调试
在几秒钟内发现缺失的字段、错误的值和结构错误,而不是逐个字符解析大量文本。
👥
更清晰的代码审查
在 Pull Request 中审查 JSON 配置更改,有了正确的缩进会容易得多——审查者可以专注于变更内容。
🔌
API 检查
探索新 API 时,格式化的响应让您一目了然地了解数据模型和嵌套结构。
📝
文档与分享
格式化的 JSON 可以直接粘贴到文档、Wiki、工单和 Slack 中,无需任何人费力解析。

选择缩进方式

2 个空格和 4 个空格都被广泛使用。正确的选择通常取决于团队的代码风格指南或个人偏好。

2 个空格
在 JavaScript 和 JSON 社区中最受欢迎的选择。保持文件紧凑的同时仍然易读。被 npm、ESLint 和大多数 JS 风格指南采用。
4 个空格
在 Python、Java 和 C# 项目中很常见。提供更多的视觉空间,通常在深度嵌套的结构中更受青睐。

常见使用场景

调试 API 响应
粘贴原始 API 响应,立即以可读布局查看完整的数据结构、嵌套对象和数组内容。
读取配置文件
存储在压缩 JSON 中的配置,格式化后变得轻松可读和编辑——不再需要寻找那个特定的键。
日志分析
结构化日志通常包含 JSON 数据。格式化单个日志条目可大大加快根因分析。
开发者文档
在 API 文档中提供清晰、缩进的 JSON 示例,让开发者立即理解请求和响应的结构。
数据探索
处理不熟悉的数据集时,pretty print 揭示完整的 schema——字段、类型和嵌套——无需先阅读文档。
测试与 QA
在测试失败时比较预期与实际的 JSON,有了一致的缩进和逐行结构会容易得多。

在终端中格式化

不必总是使用浏览器工具。这些命令可以直接在终端中格式化 JSON,无需额外安装。

Python
echo '{"a":1}' | python3 -m json.tool
Node.js
node -e "console.log(JSON.stringify(JSON.parse(require('fs').readFileSync('/dev/stdin','utf8')),null,2))"
CLI (jq)
cat data.json | jq .
curl + jq
curl -s https://api.example.com/data | jq .

常见问题

What is JSON pretty printing?
JSON pretty printing (also called JSON formatting or JSON beautifying) converts compact, minified JSON into a human-readable layout with consistent indentation and line breaks. It makes nested structures, arrays, and key-value pairs easy to scan and debug.
格式化会改变数据吗?
不会。只添加空白字符——不修改任何数据、键、值或顺序。格式化后的 JSON 文件在语义上与原始文件完全相同。
2 个空格还是 4 个空格更好?
两者都没有客观上的优劣。2 个空格更紧凑,是许多 JavaScript 工具的默认值。4 个空格提供更多视觉分隔。使用团队风格指南规定的选项,没有规定则建议使用 2 个空格。
可以格式化无效的 JSON 吗?
不可以——输入必须首先是有效的 JSON。如果有尾随逗号、单引号或注释(JSONC/JSON5),请先转换为标准 JSON。
如何在浏览器 DevTools 中格式化 JSON?
在 Chrome/Firefox DevTools 中,点击网络响应面板底部的 {} 按钮自动格式化。也可以在控制台运行 JSON.stringify(obj, null, 2) 来格式化任何 JavaScript 对象。