JSON 在线工具

解析、查看、转换与对比全部在浏览器本地完成,不发起任何网络请求

缩进
默认展开 点三角折叠或展开,节点悬停可复制该节点的值
根标签名 数组元素标签名 改参数即时重排
数据路径 分隔符
按路径逐个字段比,键的顺序不影响结果
结果
树形结果
XML 结果
CSV 结果
基准 JSON B 左栏是 A
差异
等待输入
等待输入 JSON
等待输入 JSON
等待输入 JSON
等待基准 JSON(左栏是 A,右栏是 B)

怎么用

  1. 把 JSON 粘到左边输入框。输入框是五个标签共用的,切标签不用重新粘。
  2. 「格式化」展开缩进或压成一行,「校验」只检查语法不改内容。结果区上沿那条细栏可以搜关键词,命中数会实时显示,↑ ↓ 在命中之间跳。
  3. 「折叠视图」逐层看结构,点三角折叠展开;「转 XML」「转 CSV」在面板里调好参数即算,CSV 还能直接下载。
  4. 「对比」需要两份 JSON:左边是 A,右栏粘 B,然后点「开始对比」。
  5. 右侧结果区右上角可一键复制;语法出错时底部状态行会指出是哪一侧、以及具体原因。

什么时候需要在线处理 JSON

接口联调时最常拿到的是一行压缩过的响应体,几百个字符挤在一起,肉眼根本看不出层级。把它展开成缩进结构后,字段的从属关系一目了然;反过来,需要把配置贴进环境变量或塞进 URL 时,又要把结构压回一行。这些操作都不值得为它装一个客户端工具。

五个动作,一个输入框

格式化、折叠查看、转 XML、转 CSV、两份数据比对,其实是同一份 JSON 的五个视角。所以这里把它们放在一页里共用一个输入框:调完缩进想改成树形看结构,点一下标签就行,不用重新粘一遍。这也是本站把 JSON 相关功能合成一个页面的原因——反复复制粘贴才是真正容易出错的地方。

搜索结果:在长响应体里找字段

一段嵌套四五层的响应体展开后有几百行,靠滚动找 "order_no" 很费眼。结果区上沿的搜索框会高亮所有命中并给出总数,用 ↑ ↓ 在命中之间跳,顺序和字段在 JSON 里的真实顺序一致。搜索是字面量匹配,不是正则——想按模式提取请用正则在线测试。默认不区分大小写,需要精确匹配时勾上「区分大小写」。

命中很多时只高亮前 500 处,这是刻意的:结果区里的每个高亮都是一个 DOM 节点,几万个节点会把页面拖慢。计数仍然是完整的。

转 XML 的标签规则

XML 没有数组,「同名兄弟节点」就是列表。本站的规则是:元素全是标量的数组重复属性名"tags":["a","b"] 变成一个 <tags>a</tags> 加一个 <tags>b</tags>);元素里有对象的数组,用属性名包一层、元素统一叫 item"items":[{…},{…}] 变成 <items><item>…</item></items>)。后者如果也重复属性名,读起来就分不清哪一层才是数组。根标签名与数组元素标签名都能在面板里改。

要留意的是 JSON 的数字与字符串在 XML 里都会变成长得一样的文本——0"0" 转换之后没有区别。这是 XML 本身的限制,不是转换过程丢的。另外,键名里含空格、以数字开头这类不合法标签名会被改写成下划线形式,状态行会列出改写了哪几个。中文键名是合法的 XML 名,会原样保留。

转 CSV 认哪个数组

CSV 是一张二维表,只认「一组记录」。面板会列出输入里所有数组所在的路径(例如 $.data.items),默认选第一个元素是对象的那个。刻意不做「猜你要哪一段」的智能推断:猜错的时候,用户会拿着错的表格去用,比多点一下更糟。

列名取所有记录键的并集,按首次出现的顺序排;某条记录缺这个键就留空。字段里含分隔符、引号或换行时按 RFC 4180 加双引号并把内部引号翻倍。下载的 .csv 可以勾选「加 BOM」,Excel 打开中文才不会乱码——这个标记只加进文件,复制出来的文本不带它。

对比:按路径比,不认「移动」

两份 JSON 的对比按路径逐个字段进行,所以键的顺序不影响结果,把字段前后调换不会产生任何差异。类型也会参与比较:1"1" 算不同,false0 也算不同——接口返回值类型悄悄变化,正是这类对比最常被用来发现的问题。

数组按下标比,不支持「识别出中间插入了一项」。这是有意选的规则:移动检测要么不准,要么需要复杂的相似度匹配,结果反而不好预测。代价是把插入看成后面一片修改,换来的是「同样的两份输入永远得到同样的清单」。

差异按文档顺序列出(深度优先),读起来和读原 JSON 的顺序一致;每行右端可以复制该字段的路径,直接粘进代码里定位。

关于数据安全

这个页面的解析完全由浏览器的 JSON.parse 完成,没有任何请求发往服务器。你可以断网后打开本页验证这一点——这也是本站把工具全部做成纯前端的原因:接口返回的数据往往包含订单号、手机号一类的敏感字段。

和其他工具配合

格式化之后通常还要核对具体字段,可以用时间戳在线转换看时间字段,用哈希在线计算验接口签名,用其他在线工具继续处理。