JSON格式化压缩校验工具
粘贴接口返回内容即可完成 JSON 格式化(2空格缩进)、压缩去空白或仅校验语法三种处理,语法错误时给出第几行第几列与出错原因,并统计键数量、层级深度、数组个数与 UTF-8 字节数。
数据来源:RFC 8259(The JavaScript Object Notation)与 ECMA-404 语法定义
处理结果格式化完成
键(属性)数量8个
最大层级深度4层
对象 / 数组个数3 / 1个
叶子值数量3 文本 / 3 数字 / 1 布尔 / 0 null
原始 UTF-8 字节数154字节
输出字符数176字符
节点路径预览(最多 200 条)
| 路径 | 类型 | 值 |
|---|---|---|
| $.tool | string | 轻算工具站 |
| $.offline | boolean | true |
| $.count | number | 16 |
| $.items[0].slug | string | json |
| $.items[0].size | number | 3 |
| $.items[1].slug | string | base64 |
| $.items[1].size | number | 7 |
{
"tool": "轻算工具站",
"offline": true,
"count": 16,
"items": [
{
"slug": "json",
"size": 3
},
{
"slug": "base64",
"size": 7
}
]
}输入 144 字符,格式化后 176 字符,压缩后 104 字符。 JSON 标准不包含注释、单引号与尾随逗号,此类写法在浏览器 JSON.parse 中一律报错。
本页所有计算在浏览器内完成,输入内容不会被上传。
计算口径
校验、格式化与压缩都以浏览器原生 JSON.parse 的解析结果为准:格式化用 2 空格缩进重新序列化,压缩用无空白序列化,因此输出必定是合法 JSON。层级深度从根节点记为第 1 层递归统计;键数量只统计对象的属性名,数组下标不计入。字节数按 UTF-8 编码计算,中文与 emoji 会占多个字节。
使用说明
- 粘贴接口返回值后直接查看"格式化"结果,可原样复制回代码
- 排查接口报错时选"仅校验语法",错误提示会带上行列与出错行上下文
- 需要放进 URL 或日志时用"压缩"模式,能省掉缩进换行的字节
常见问题
为什么提示“Unexpected token } in JSON at position …”?
多数是最后一个元素后面多写了逗号(尾随逗号),或某个键名、字符串值忘了加双引号。本工具会在错误提示下方列出出错行及其上下行,便于快速定位。
格式化会改变数据吗?
不会改变语义,但有两点需注意:键顺序按原样保留、数字精度按 IEEE754 双精度重新输出(例如 1.0 变成 1、超长整数 9007199254740993 会失真)。若数据里有大整数或需要保留小数的 0,请勿用格式化结果回写接口。
能不能解析注释版 JSON(JSONC)?
不能。本工具严格按 RFC 8259 使用原生解析,注释、单引号、十六进制字面量都会被判为语法错误,这样得到的结论与浏览器和后端运行时的行为一致。