跳到正文

把 XML 转换为 JSON

这个工具在你的浏览器中把 XML 文档转换为 JSON,让 API 负载或配置文件变成脚本可以直接读取的东西。根元素变成结果里唯一的键,属性变成带 @ 前缀的键,紧挨着属性或子元素的文本放进 #text。在兄弟节点中重复出现的名字会变成数组,所以同一个元素在一个文件里可能是对象,在另一个文件里可能是数组;注释会被丢弃,每个值都完整保留文档中原来的字符串,包括开头的 0。你的文件绝不会被上传。

在你的浏览器中运行

把文件拖到这里

XML,最大 50 MB

使用方法

  1. 1 选择一个 XML 文件。
  2. 2 把缩进设在 0 到 8 个空格之间。默认是 2,0 表示压缩。
  3. 3 GRID16 在你的浏览器中解析文档并应用映射规则。
  4. 4 下载 JSON。

常见问题

XML 元素是怎么变成 JSON 的?
没有属性也没有子元素的元素,会变成它的文本内容,就是一个普通字符串。只要有属性或子元素之一,就会变成一个对象:属性变成 @名字 这样的键,子元素放在各自的名字下面,文本内容(如果有)放进 #text。
重复的元素会怎样?
在兄弟节点中只出现一次的名字,保持为单个值;出现不止一次的名字,会按元素出现的顺序变成数组。所以同一个元素在一个文件里可能是对象,在另一个文件里可能是数组。
数字和布尔值会被转换吗?
不会。没有模式的话 XML 就没有类型,所以每个值都完整保留文档中的字符串;邮政编码会保留开头的 0,像 1.10 这样的版本号也会保持 1.10,而不会变成 1.1。
命名空间前缀怎么处理?
会按原样保留,包括 soap:Envelope 和 @xmlns:soap。这个工具不会把前缀解析成对应的命名空间 URI。
遇到无效的 XML 或 DOCTYPE 会怎样?
任务会停下并说明原因。带有 DOCTYPE 或 ENTITY 声明的文档在解析前就会被拒绝,无法解析的 XML,比如缺少结束标签或属性值没加引号,会连同解析器自己的报错一起报告出来。
我的文件会上传到服务器吗?
不会。转换在你的浏览器中进行,文件始终不会离开你的设备。