工作原理
JSON 的语法很小,几乎每个解析错误都可归为四类:对象或数组结尾多出的逗号、单引号字符串、未加引号的键,以及注释。它们在 JavaScript 对象字面量里都合法,在 JSON 里却都不合法,这正是从源码里复制片段经常失败的原因。本工具会报出第一个问题字符的偏移、行列位置并显示周边文本,通常一眼就能看出问题所在。
美化只是在 token 之间插入空白,不改变含义;压缩则删掉语法不要求的每一个字节,通常能把格式化后的文档缩小 30% 到 60%。两者都不会改动字符串内容、数字或键的顺序——会重排键或改写数字的格式化器一定是错的,因为对象键顺序与数值精度对接收方程序而言都是可观察的行为。
树视图之所以必要,是因为把大文档当文本读无法扩展。折叠一个对象即隐藏其子树,让你直达关心的分支,每个节点的路径都会显示出来方便复制引用。需要程序化提取时,诸如 $.items[?(@.price > 100)].sku 的 JSONPath 表达式可以跨越整个文档选择节点,包括穿透数组和通配符,这比滚动查找“某个字段的每一次出现”要快得多。
有一点值得知道:JavaScript 的数字是 IEEE-754 双精度浮点,超过 2^53 的整数在解析时会丢精度。雪花 ID 或数据库 bigint 会悄悄变得不对——1234567890123456789 会变成 1234567890123456800。本工具会检测超出安全范围的整数并给出警告,而不是静默取整,因为这种错误在数据库查询匹配失败之前完全不可见。
常见应用场景
- 格式化压缩过的接口响应,读懂结构并找到需要的字段。
- 定位配置文件在部署时解析失败的那个确切字符。
- 在嵌入测试或种子脚本前压缩 JSON 夹具。
- 用 JSONPath 从深层嵌套的响应中批量提取所有匹配值。
- 检查载荷中是否含有会在 JavaScript 中丢失精度的大整数。
- 对比两次响应的键数量与深度,判断 schema 在版本间发生了什么变化。
最后更新: 2026-10-14