开发者工具

JSON 格式化与验证器

格式化、验证和压缩 JSON,或排序键而不舍入数字。粘贴文本或打开本地 JSON 文件。

输入参数

JSON 数字保持精确。输入上限:2 MiB。

计算结果

格式化 JSON,同时避免数值标识符被舍入

验证 JSON 语法,并将有效输入变得易读或紧凑。解析器保留原始数字词元,包括大整数及小数或指数的写法,而不是通过 JavaScript 数值转换进行舍入。这是语法检查,并非根据应用程序的模式验证数据。

操作步骤

  1. 粘贴 JSON,或打开本地 UTF-8 JSON 或文本文件。选择两个空格、四个空格、制表符或紧凑输出;可按需排序对象键。
  2. 处理输入。解析失败时,修正提示的行和列;即使格式化成功,也要检查重复键警告。
  3. 复制、下载或打印结果。编辑输入或选项后,请重新处理:工具会清除之前的结果,避免复制过期输出。

设置与限制

排序会改变什么
排序按区分大小写的字典顺序进行,也适用于嵌套对象。数组顺序保持不变。数字词元保持原样,但字符串转义可能被规范化,因此输出并非与源文件逐字节相同。
严格的 JSON 语法
键和字符串须使用双引号。注释、尾随逗号、NaN 和 Infinity 均无效。有效的顶层值可以是对象、数组、字符串、数字、布尔值或 null。
大小与复杂度
输入上限为 2 MiB(2,097,152 个 UTF-8 字节)。过深或过于复杂的文档也会被拒绝:解析器限制超过 128 层的嵌套和超过 200,000 个值节点的输入。

操作示例

粘贴下方示例输入,选择紧凑输出并启用排序。处理后比较结果,或打开可下载的 precision-example.json 文件。

下载示例文件

示例输入

{"b":2,"a":9007199254740993}

预期结果

{"a":9007199254740993,"b":2}

键 a 会移到 b 之前,而 9007199254740993 保持不变。采用普通 JavaScript 数值转换的格式化工具可能会舍入该标识符;本工具保留其原始数字词元。

常见问题与故障排查

为什么可以作为 JavaScript 使用的文件在这里失败?

JavaScript 对象语法可能允许注释、单引号或无引号的键,但 JSON 不允许。请明确修正源数据;本工具不会悄悄修复无效输入。

重复键会被删除吗?

不会。两项都会保留,并显示警告。不同解析器可能有不同的解释,因此在将 JSON 发送给其他系统之前,请先解决重复键。

复制按钮被阻止时怎么办?

无法访问剪贴板时,工具会选中输出,便于手动复制。也可以下载 formatted.json。格式化不会改变原始文件。