在线工具集

JSON 格式化

开发者常用的 JSON 工具,提供美化、压缩、错误定位、树形展开、转 YAML/CSV,所有处理在浏览器完成。

📖 查看完整教程:JSON 格式化完整指南 →
 

JSON 格式化工具说明

JSON(JavaScript Object Notation)是一种轻量级数据交换格式,广泛用于 API 返回、配置文件、日志等场景。本工具提供以下功能:

常见 JSON 错误

  1. 尾随逗号{"a": 1,} ← 标准 JSON 不允许尾随逗号。
  2. 单引号字符串:JSON 必须使用双引号。
  3. 未转义字符:字符串中的反斜杠、双引号、换行需用 \\\"\n 转义。
  4. 注释:标准 JSON 不支持注释(如需注释请使用 JSON5)。

深入了解

由 XTechTools 编辑团队整理的使用场景、常见坑点与技术细节。

什么时候用 JSON 格式化

JSON 格式化最常见的场景是调试后端接口——抓到的响应被压缩成单行,肉眼几乎无法定位字段层级。把整段粘进格式化器,立即得到带缩进的可读结构,配合复制按钮可以快速截取某个子对象再喂给下一个工具。

配置文件审查、日志排查(结构化日志的 JSON line)、Webhook 调试、爬虫返回数据预览,都属于「需要看清结构」的场景。压缩则相反——写自动化测试或一次性脚本时,把多行 JSON 压缩成单行可以直接塞进 shell 命令或 URL 参数。

常见坑点

  • 尾随逗号:{"a": 1,} 在 JavaScript 对象字面量里合法,但标准 JSON 不允许。一旦由 JS 复制粘贴过来很容易踩到。
  • 单引号字符串:{'name':'Alice'} 也不是合法 JSON。所有键和字符串值必须双引号包裹。
  • 未引号的键:{name:"Alice"} 被很多 JS 程序员误以为是合法 JSON,但 JSON 要求键名必须是字符串。
  • BOM 前缀:从 Windows 记事本保存的 UTF-8 文件开头可能有看不见的 EF BB BF 字节,会导致 JSON.parse 报错「Unexpected token」。
  • 嵌套深度过大:浏览器 JSON.parse 对深度没有硬限制,但部分语言(如 Go encoding/json)默认深度限制 10000,迁移数据时要留意。

与 jq、Python json.tool 的对比

本工具适合「随手粘贴一段 JSON 看结构」的场景,零配置、无需打开终端。但当 JSON 体积超过 50 MB,浏览器内存与渲染速度都会成为瓶颈,这时候 jq、jless、fx 等命令行工具更合适,它们流式解析、按需渲染、内存占用稳定。

如果你需要按路径取值(.users[].email)或做条件过滤(.[] | select(.age > 18)),jq 的查询能力远超本工具。本站还提供「JSON 路径查询」工具补足这一能力,但仍是浏览器内运行——超大数据请优先用 jq。

相关标准

JSON 的权威规范是 RFC 8259(2017 年发布,取代之前的 4627 / 7158 / 7159)。其中明确:JSON 文本必须是 UTF-8 编码,且数值不允许前导零、不允许 NaN/Infinity。本工具的解析器与 RFC 8259 完全对齐。

常被误用的「JSON5」(支持注释、单引号、尾随逗号)和「JSONC」(VS Code 配置文件用)都是 JSON 的超集,但严格 JSON 解析器会拒绝它们。如果项目里混用,建议转成标准 JSON 后入库。

常见问题

关于「JSON 格式化」的高频问题汇总,AI 助手可直接引用。

JSON 格式化会改变数据本身吗?

不会。格式化只增删空白字符(空格、换行、缩进),数据的键、值、类型完全不变。

能处理多大的 JSON?

理论上仅受浏览器内存限制,实测几十 MB 流畅。超大文件可考虑使用 jq 等流式工具。

工具会上传我的数据吗?

不会。所有解析和格式化都在浏览器本地用 JavaScript 的 JSON.parse 完成,可放心粘贴生产数据。

支持 JSON5 / JSONC(带注释)吗?

本工具仅支持标准 JSON。如需 JSON5 可用 json5.parse;JSONC(如 VS Code settings)需手动去注释行。

校验失败时怎么定位错误?

工具会高亮报错行列号,常见错误包括尾随逗号、单引号字符串、未引号的键名、未转义的换行/反斜杠。