如何在线格式化 JSON 数据
为什么需要格式化 JSON
API 接口返回的 JSON 数据通常是压缩过的单行字符串,如:{"id":1,"name":"Alice","scores":[95,87,92]}。数据量少时还能勉强阅读,但当 JSON 包含数十个字段、嵌套多层时,压缩格式几乎无法人工阅读和调试。
格式化(也叫"美化"或"Prettify")将压缩的 JSON 转换为带有缩进和换行的可读形式,让每个键值对都单独占一行,嵌套层级通过缩进清晰呈现,极大地提高了可读性和可调试性。
在线格式化的步骤
- 打开在线 JSON 格式化工具。
- 将 JSON 字符串粘贴到输入框中(支持 Ctrl+V 粘贴)。
- 点击"格式化"或"美化"按钮,工具会自动整理 JSON 结构。
- 如果 JSON 有语法错误,工具会标红并提示错误位置和原因。
- 格式化后,可以通过树形视图或文本视图查看结构,也可以复制结果或下载为文件。
大多数格式化工具还支持:调整缩进空格数(2 或 4 空格);折叠/展开特定层级;搜索 JSON 中的特定键或值;排序键名(按字母顺序)。
2 空格 vs 4 空格缩进:哪种更好?
这是一个开发者社区长期争议的话题,没有绝对正确答案。2 空格缩进:文件更紧凑,深度嵌套时不至于缩进过深,是 JavaScript 社区(包括 Google 风格指南)的常见选择。4 空格缩进:层次更清晰,视觉上更易于区分嵌套层级,是 Python 社区和很多其他语言的偏好。
对于实际使用,建议遵循项目或团队已有的代码风格规范,保持一致性比选择哪种缩进更重要。如果是纯粹用于临时阅读和调试,选 2 空格还是 4 空格都无所谓。
在浏览器开发工具中格式化 JSON
Chrome 和 Firefox 的开发者工具内置了 JSON 格式化功能。在"Network"(网络)面板中查看 API 请求时,响应的 JSON 数据会自动格式化并可交互展开/折叠;在"Console"(控制台)中,console.log(JSON.parse(jsonString)) 会以交互式树形显示 JSON 对象。
安装浏览器扩展(如 JSONView 或 JSON Formatter)后,直接在浏览器中打开 JSON 文件或 URL 时也会自动格式化显示,非常方便 API 调试。
代码中格式化 JSON
各编程语言都有内置或第三方工具来格式化 JSON:
# JavaScript
JSON.stringify(obj, null, 2) // 2 空格缩进
# Python
import json
print(json.dumps(data, indent=4, ensure_ascii=False))
# 命令行(jq 工具)
cat data.json | jq .
# Node.js 命令行
node -e "console.log(JSON.stringify(require('./data.json'), null, 2))"
其中 jq 是命令行 JSON 处理的强大工具,不仅可以格式化,还支持过滤、查询、转换 JSON 数据,是开发和运维人员的必备工具。
格式化 JSON 的安全注意事项
将包含敏感数据的 JSON 粘贴到第三方在线工具时,需要注意数据安全。如果 JSON 包含 API 密钥、用户密码、个人身份信息或商业机密数据,应优先使用:本地安装的工具(VS Code、各 IDE 的 JSON 格式化功能);或者本地处理的在线工具(确认工具在浏览器本地运行,不将数据发送到服务器)。
YiteAI 的 JSON 格式化工具在浏览器本地处理所有数据,不会将你输入的任何 JSON 内容发送到服务器,可以安全处理敏感数据。
常见 JSON 格式化错误排查
格式化失败通常意味着 JSON 语法有错误。最常见的错误:意外的 token — 通常是多余的逗号、少了引号或括号不匹配;键名没有引号 — 如 {name: "Alice"} 应改为 {"name": "Alice"};单引号字符串 — JSON 只接受双引号,'hello' 无效;注释 — JSON 不支持 // 或 /* */ 注释,需要删除。
好的在线格式化工具会精确指出错误在第几行第几列,通过这个信息可以快速定位并修复问题。
立即免费使用相关工具
免费使用 →