JSON 格式化
开发者常用的 JSON 工具,提供美化、压缩、错误定位、树形展开、转 YAML/CSV,所有处理在浏览器完成。
📖 查看完整教程:JSON 格式化完整指南 →JSON 格式化工具说明
JSON(JavaScript Object Notation)是一种轻量级数据交换格式,广泛用于 API 返回、配置文件、日志等场景。本工具提供以下功能:
- 格式化:将压缩的 JSON 自动缩进为易读结构。
- 压缩:去除空白字符生成单行 JSON,便于网络传输。
- 校验:检测语法错误并定位行列号。
- 纯本地:所有处理在浏览器完成,敏感数据不会上传。
常见 JSON 错误
- 尾随逗号:
{"a": 1,}← 标准 JSON 不允许尾随逗号。 - 单引号字符串:JSON 必须使用双引号。
- 未转义字符:字符串中的反斜杠、双引号、换行需用
\\、\"、\n转义。 - 注释:标准 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)需手动去注释行。
校验失败时怎么定位错误?
工具会高亮报错行列号,常见错误包括尾随逗号、单引号字符串、未引号的键名、未转义的换行/反斜杠。