256 Tools

JSON 格式化 — 美化/压缩/校验,精确定位错误行列(免费·不上传)

缩进:

加载示例

您的 JSON 数据仅在浏览器本地处理,绝不上传到服务器。

相关外部工具

部分链接为联盟营销链接。

相关工具

这款免费在线 JSON 格式化工具,粘贴 JSON 即可立即美化(加缩进换行)或压缩(去除空白变成单行),同时进行语法校验。当 JSON 出现语法错误时,工具会精确显示第几行第几列出错,在输入框中高亮该行,并用编译器风格的代码片段加 ^ 符号指向问题所在,还会针对常见原因(末尾逗号、单引号、注释、未加引号的键名、NaN 等)给出提示信息,方便快速定位修复。支持选择缩进(2 空格/4 空格/制表符)、对所有对象键名按字母升序排序、切换树形展示以折叠展开深层结构,以及一键复制或下载 .json 文件。全部处理均在浏览器本地完成,API 密钥等敏感 JSON 内容可安全粘贴使用。

使用方法

  1. 将 JSON 粘贴到上方输入框中,也可点击「加载示例」尝试示例 JSON,或点击「打开文件」从本地加载 .json 文件。
  2. 选择「美化」添加缩进换行,或选择「压缩」将 JSON 合并为单行。
  3. 若存在语法错误,错误面板会显示出错的行号和列号,并高亮对应行。
  4. 可选择缩进大小(2 空格/4 空格/制表符)、开启「排序键名」按字母顺序整理键名,或切换到树形视图查看结构。
  5. 点击「复制」将结果复制到剪贴板,或点击「下载」保存为 .json 文件。无需安装,无需注册。

美化与压缩

美化(pretty print)

美化后会添加换行和缩进,无论嵌套多深都能一目了然地看清结构。最常见的场景是粘贴 API 返回的单行 JSON,立即变得清晰易读。

压缩(minify)

压缩会去除所有多余的空白和换行,生成单行紧凑的 JSON。在将 JSON 嵌入代码、环境变量、URL 参数时可减小体积。统计栏会显示节省了多少字节及百分比。

缩进大小(2/4 空格/制表符)

根据团队或项目规范选择合适的缩进风格。2 空格最为常用;4 空格在宽屏上可读性更好;制表符适合已采用 Tab 缩进的代码库。缩进设置仅在美化时有效,压缩时忽略。

主要功能

错误位置(行·列)显示与高亮

当 JSON 语法有误时,工具会显示解析器停止的行号和列号,在输入框中高亮该行,并以编译器风格的代码片段加 ^ 符号标出问题字符。同时检测常见原因——末尾逗号、单引号字符串、JavaScript 注释、未加引号的键名、NaN/Infinity——并显示文字提示。这是本工具与那些只显示「JSON 无效」的简单工具的核心区别。

键名排序

开启「排序键名」后,JSON 中所有对象(各层嵌套均适用)的键名将按字母升序(代码点顺序,非区域设置相关)排列。在使用 diff 工具比较两个 JSON 版本之前先排序键名,可使差异仅体现在值的变化上。数组元素顺序不变。

树形展示与折叠/展开

切换到树形视图后,JSON 以层级树形式展示,每个对象和数组都可独立折叠或展开(支持鼠标点击和键盘操作)。对于大型或深层嵌套的 JSON 特别有用,无需滚动大量文本即可探索结构。

复制与下载

点击「复制」按钮即可将格式化结果复制到剪贴板,并立即显示「已复制!」确认提示。点击「下载」将结果保存为 .json 文件,完全在浏览器内通过 Blob URL 生成,无服务器交互。

字符数与字节统计

统计栏显示输入和输出的字符数(JavaScript 字符串长度)及 UTF-8 字节大小。压缩时还会显示节省的字节数和百分比。数字采用本地化千分位格式(如 1,234)。JSON 文本本身不作本地化处理,始终保持可直接粘贴使用的有效 JSON。

安全处理私密数据

所有解析、格式化和校验操作均在浏览器本地通过标准 JSON.parse 和 JSON.stringify API 完成,不向任何服务器发送数据,不留日志,不作存储。可安全粘贴包含 API 密钥、访问令牌、密码等敏感信息的 JSON。

使用场景

美化 API 响应

将浏览器 DevTools 网络面板、curl 或 Postman 中复制的 JSON 响应粘贴进来,格式化后即可轻松理解数据结构、排查缺少的字段和验证类型,效率远高于盯着一行压缩 JSON 看。

查找 JSON 错误位置

当配置文件、POST 请求体或 JSON 测试数据解析失败时,粘贴进来即可看到出错的行号和列号,并在编辑器中高亮显示,同时给出末尾逗号、注释、未加引号键名等常见原因的提示,省去阅读晦涩报错信息的麻烦。

压缩 JSON 用于嵌入

将格式化好的 JSON 压缩为单行,便于粘贴到 Shell 脚本、环境变量、Docker 标签或 URL 参数中。统计栏显示具体节省了多少空间。

对比前先统一键名顺序

在使用 diff 工具比较两份 JSON 之前,用「排序键名」功能统一两份文档的键名顺序,这样差异就只反映值的变化,而非键名排列顺序的差异。适用于跨环境或跨版本的 API 响应比较。

常见 JSON 错误与注意事项

  • 不允许末尾逗号:[1, 2,] 和 {"a":1,} 是无效 JSON(JSON5/JSONC 是另一种格式)。
  • 字符串和键名必须使用双引号:'hello' 和 {a:1} 不合法,正确写法为 "hello" 和 {"a":1}。
  • 不支持注释:// 和 /* */ 是 JavaScript 语法,不属于标准 JSON,如需注释请使用 JSONC 等格式。
  • NaN、Infinity 和 undefined 不是有效的 JSON 值,它们是 JavaScript 专属值。
  • 超大整数可能丢失精度:超过 2^53(9007199254740992)的整数会被解析为 IEEE 754 双精度浮点数,可能导致数字改变。
  • 重复键名后者优先:{"a":1,"a":2} 在技术上是合法 JSON,但 JSON.parse 会使用后者的值,结果为 {"a":2}。

常见问题

能看到 JSON 错误在哪一行哪一列吗?
可以。JSON 解析失败时,工具会在错误面板显示精确的行号和列号,在输入框中高亮对应行,用代码片段加 ^ 符号指向问题位置,并给出常见原因的提示(末尾逗号、单引号、注释等)。
能同时支持美化和压缩吗?
能。点击顶部的「美化/压缩」切换按钮即可。美化会添加缩进和换行,缩进大小可选 2 空格、4 空格或制表符;压缩生成单行 JSON,统计栏显示节省的字节数和百分比。
我的 JSON 会被上传到服务器吗?
不会。所有解析、格式化和校验均在浏览器本地通过内置的 JSON.parse 和 JSON.stringify 完成,数据不会被上传、存储或记录。可安全粘贴包含 API 密钥等敏感信息的 JSON。
能对对象键名进行字母排序吗?
可以。勾选「排序键名」复选框后,JSON 中每个对象(各层嵌套)的键名都会按字母升序排列,数组元素顺序不变。适合在比较两份 JSON 之前进行规范化处理。
支持带注释或末尾逗号的 JSON(JSON5/JSONC)吗?
不支持。本工具仅遵循标准 JSON 规范(RFC 8259),不允许注释或末尾逗号。若输入包含这些内容,工具会报语法错误并给出提示说明原因。
能处理大型 JSON 文件吗?
可以处理数 MB 以内的文件。文件过大时,工具会自动关闭树形视图并显示警告。对于数十 MB 的超大文件,建议使用桌面专用工具。
能复制或下载格式化结果吗?
可以。点击「复制」将结果发送到剪贴板,或点击「下载」保存为 .json 文件,两者均在浏览器内完成,不涉及服务器请求。

我们使用 Cookie 用于广告和分析。