XML转JSON

在你的设备上运行 · 你的文件从不离开你的设备。

拖入.xml文件,或者粘贴接口、订阅源、配置文件里的XML,得到可以直接使用的JSON。文档由浏览器自带的XML解析器读取,只要格式规范就能转;格式有问题的文件会告诉你出错的行和列。

映射固定且可逆:每个元素变成一个键;同名的兄弟元素变成数组;属性以@开头的键保留(id="3"变成"@id": "3");元素既有文本又有子元素或属性时,文本放在"#text"下。只有文本的元素直接变成那个值。

打开类型识别后,12、true这样的文本或空元素会变成数字、布尔值或null;关掉则全部保持文本。带命名空间的名字(soap:Body)按原样保留。下载前可以预览前200行。

如何XML转JSON

  1. 拖入XML文件,或者把XML粘贴到文本框。
  2. 决定要不要识别数字、布尔值和空元素的类型。
  3. 点击“转换为JSON”,看一下预览。
  4. 下载.json。

支持的格式与限制

输入
XML(.xml)——文件或粘贴的文本,UTF-8
输出
JSON,带缩进,UTF-8
属性
以"@name"键保留
重复元素
变成数组
运行位置
在浏览器本地完成,不上传

不适用于: 格式不规范的XML(标签没闭合、HTML网页)——解析器会报告第一个问题,而不是瞎猜。

常见问题

我的文件会上传到服务器吗?
不会。转换完全在你的浏览器里完成,用的是你自己设备的算力。文件不会离开你的电脑或手机——所以页面加载完成后,断网也照样能用。
属性和混合内容怎么处理?
属性变成以@开头的键,<item id="3">得到"@id": "3"。元素既有文本又有属性或子元素时,文本存在"#text"下;只有文本的元素直接变成那段文本。
为什么有的元素是对象,重复的却是数组?
在父元素下只出现一次的元素变成对象(或值);两个及以上同名的兄弟元素变成数组。这样和文档一一对应,所以只有一项的列表是一个对象——代码里两种情况都需要数组的话,在接收端包一下。
JSON的最外层是什么样?
一个以根元素命名的键,里面装着全部内容——<records>…</records>变成{"records": {...}}。保留根元素的名字,JSON转XML工具才能重建同样的文档。

表格与数据中的更多工具

相关工具