DEVELOPER WORKBENCH

JSON 格式化工具

从接口调试到商品数据整理:校验、定位、比较,再导出。数字原文与精度完整保留。

◈ 本地处理 · 输入不上传

原始 JSON

正在载入编辑器…

格式化结果 / 对比 JSON

结果保留数字原文

格式化结果可编辑;关闭实时格式化后,可在这里粘贴对比 JSON。

可拖入 UTF-8 JSON 文件。单份输入上限 1 MiB、最多 100,000 个值、128 层嵌套。

对象、数组、字符串、数字均可作为 JSON 根值

输入有效 JSON 后,可查看字段、类型与路径。

点击字段选择路径;定位会选中左侧原文。路径用 ~0 表示 ~,用 ~1 表示 /。

整理成 CSV,继续分析。

支持对象或对象数组。所有单元格加引号,兼容逗号与换行;UTF-8 BOM 帮助 Excel 识别中文。

防护会给以 =、+、-、@ 或控制字符开头的文本加单引号。为保留大整数与前导零,重要 ID 请在 Excel 导入时将对应列设为文本;CSV 本身不含列类型。

默认不保存输入;启用后左、右内容保存于本浏览器,7 天后过期。

把接口响应变成可检查的数据

  1. 粘贴 JSON 或导入 UTF-8 文件,先看严格校验状态。语法或重复键错误会显示准确行列,点击即可定位。
  2. 按需要格式化、压缩或递归排序对象键。操作生成在右侧,原文留在左侧;“替换原文”可撤销。
  3. 使用结构树检查字段,复制 JSON Pointer 或字段值。对比时关闭实时格式化,右侧粘贴另一份接口响应。
  4. 确认数据后导出 JSON;产品表格可导出 CSV,再用电子表格分析。

大整数与重复键为什么值得检查?

订单 ID、Java long、精确小数与极大的指数数值可能被常规 JavaScript 数字解析改变。本工作台用 lossless-json 保存数值原文,例如 9123372036854000123、2.370 和 2.3e500 在处理后仍保留原有数字。树视图、键排序、差异与导出也使用同一份精度保护数据。

对象中重复的键可能被普通解析器静默覆盖。这里会将同一对象中的重复键作为校验错误,定位第二次出现的位置;不同对象出现相同键正常。JSON 对象键排序采用 Unicode 码元顺序;排序覆盖数字形式的键名,按文本顺序输出。

严格 JSON、JSON5 和 JavaScript 对象

本工具接收 RFC 8259 严格 JSON。注释、单引号、未加引号的键、尾随逗号、NaN、Infinity 与十六进制数字均不属于严格 JSON。JSON5 支持部分扩展,但不在这里自动修复或转换;工具不使用 eval,也不执行输入。

常见问题

为什么 1 和 1.0 被标为不同?

差异比较保留数字的原文形式,方便发现精度和序列化变化。对象键的顺序忽略;数组按照索引比较,不进行猜测性的对象配对。

路径是 JSONPath 吗?

这里使用标准 JSON Pointer:空路径代表根值,/products/0/sku 表示 products 数组第一个对象的 sku。键中的 / 写为 ~1,~ 写为 ~0;不支持 JSONPath 通配符和筛选表达式。

CSV 展平会丢失嵌套数据吗?

未展平时,嵌套对象和数组成为 JSON 文本单元格;展平时按 JSON Pointer 展开对象与数组,避免点号键名混淆。空对象与空数组仍保存为 {} 和 []。单次导出最多 20,000 行、1,000 列、500,000 个单元格与 4 MiB 输出。CSV 适合分析,不是 JSON 的无损双向存储格式。

为什么大文件没有自动显示全部结构?

为了保持浏览器响应,单份编辑输入最多 1 MiB、100,000 个值与 128 层嵌套。结构树按需展开,最多挂载 3,000 个字段;差异最多显示 500 项。单条字段路径最多 8,192 个字符,路径索引总长度最多 16 MiB。超过范围会明确提示,不会显示成完整成功结果。

草稿会保存到服务器吗?

JSON 输入、转换与草稿均在本浏览器处理。草稿默认关闭,手动启用后保存在 localStorage;同一设备的其他使用者可能查看,请避免存放密钥或客户隐私。广告按全站已有配置加载。

标准与实现参考

RFC 8259 · JSON · RFC 6901 · JSON Pointer · lossless-json · CodeMirror