JSON格式化工具

粘贴 JSON,选择缩进方式,即可立即看到它是否有效。出错时,页面会标出问题开始处的行和列。您粘贴的内容不会离开浏览器。

免费 在浏览器中运行 核对于2026年11月10日星期二

需要检查的 JSON,最多2,000,000个字符。数字和字符串按您输入的原样保留。

在每一层的每个对象内,对名称排序。数组中项目的顺序保持不变。

结果

有效性 — 有效的 JSON,或第一个错误所在的行和列。
名称(键)数量 — 所有对象中名称的总数。
嵌套深度 — 对象和数组相互嵌套的最大层数。
格式化后的 JSON

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 把 JSON 粘贴到“JSON 文本”中,输入时即自动检查结果。
  2. 选择“缩进方式”;若想让文本尽量短,请选择“不留空格(压缩)”。
  3. 如需让每个对象中的名称按字母顺序排列,请勾选“名称按 A 到 Z 排序”。
  4. 阅读“有效性”。如果它指出了行和列,请在该处修改文本;显示为有效的 JSON 后,再复制“格式化后的 JSON”。

JSON 如何被检查和格式化

JSON 由 RFC 8259 定义。一段文本有效,是指它只包含一个值(通常是对象或数组),并且每个名称都用双引号括起。工具使用浏览器自带的 JSON 解析器判断文本是否有效,因此有效的结果与您程序中的含义一致。

文本有效时,工具会重新读取它,并按您选择的缩进方式写出。改变的只是记号之间的空格、制表符和换行;名称、字符串和数字都按您输入的原样写出。

  • 两个空格、四个空格和制表符都能让嵌套层次清楚。空对象和空数组保持在一行内,写作 {} 和 []。
  • 不留空格(压缩)会删除所有空格和换行,使文本更短,适合用于请求或设置值。
  • 按 A 到 Z 排序只改变每个对象内名称的顺序,从不改变数组中项目的顺序,因为该顺序属于数据的一部分。

保留的内容与错误的含义

数字不会被四舍五入。像12345678901234567890或1.50这样的值,会按您输入的样子写回。许多程序读取这么长的数字时精度会降低,因此保留原始文本。

错误的位置是文本第一次不再是 JSON 的那个字符。最常见的原因是最后一项后面有逗号、该用双引号的地方用了单引号,以及两项之间漏了逗号。工具不会修复文本:它只指出问题所在,并保持您的文本不变。

示例:默认的 JSON

默认文本是一个包含五个名称的对象。其中的列表比对象再深一层,因此嵌套深度为2。有效性检查显示“有效的 JSON”,格式化后的文本每一层用两个空格缩进。

勾选“名称按 A 到 Z 排序”后,同样的五个名称依次为 free、license、name、tags 和 version。tags 列表保持原有顺序:json、csv、yaml。

结果 默认文本 名称按 A 到 Z 排序
有效性 有效的 JSON 有效的 JSON
名称(键)数量 5 5
嵌套深度 2 2

常见问题

格式化和校验 JSON 有什么区别?

校验是检查文本是否符合 JSON 语法;格式化只改变空格和换行,数据保持不变。本工具两者都做,无效的文本永远不会被格式化。

为什么工具会显示行和列?

它们指向第一个破坏 JSON 语法的字符,从1开始计数。Chrome 和 Firefox 的错误信息通常会给出这个位置;浏览器不给出时,工具会自己查找该位置。

格式化会改变我的数字或字符串吗?

不会。数字和字符串都按您输入的原样写出,因此像12345678901234567890这样的长编号会保留每一位数字。改变的只是它们周围的空格和换行。

我的 JSON 会被发送到服务器吗?

不会。检查和格式化都在您的浏览器中进行。您粘贴的内容既不会发送到我们的服务器,也不会存储在那里。

为什么最后一项后面的逗号是错误?

JSON 不允许对象或数组的最后一项后面有逗号,尽管许多编程语言允许。请删除紧靠右方括号 ] 或右花括号 } 之前的那个逗号。

工具能帮我修复无效的 JSON 吗?

不能。工具只报告第一个问题,并保持您的文本不变,因为修复时可能猜错原意。请在所示位置改正文本,然后重新检查。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。