使用步骤
- 粘贴 XML 或载入示例。
- 选择是否转换数字和布尔值。
- 复制或下载 JSON。
参数说明
- 属性
- 属性 id="bk101" 会变成键 "@id";与属性并存的文本放在 "#text" 中。
- 重复元素
- 同一父元素下出现多次的元素会变成 JSON 数组,只出现一次则保持对象。
- 转换数字和布尔值
- 开启后 44.95 变成数字、true 变成布尔值。关闭则所有值保持文本,00123 这样的编号不会丢掉前导零。
示例
这段 XML,包含声明和注释:
<?xml version="1.0"?>
<!-- c -->
<catalog>
<book id="bk101" in_stock="true">
<title>XML Guide</title>
<price currency="USD">44.95</price>
<tag>a</tag><tag>b</tag>
<isbn>00123</isbn>
</book>
</catalog>
在开启「转换数字和布尔值」时会变成这样的 JSON:
{
"catalog": {
"book": {
"title": "XML Guide",
"price": {
"#text": 44.95,
"@currency": "USD"
},
"tag": [
"a",
"b"
],
"isbn": 123,
"@id": "bk101",
"@in_stock": true
}
}
}
属性排在子元素之后。声明和注释都不见了,tag 因为出现了两次而变成数组。关闭该选项时,44.95 保持为 “44.95”,isbn 保持为 “00123”,属性则变成文本 “true”。这个选项对属性值和元素文本都有效。
常见问题
注释和 XML 声明会怎样?
会被舍弃,JSON 中没有对应的位置。元素和属性的数据都会保留。
为什么列表有时是对象而不是数组?
XML 本身没有说明某个元素能否重复。只出现一次时无法判断它是列表,所以转成对象。
XML 格式有错怎么办?
会提示第一个错误及其行号,例如结束标签不匹配。
隐私说明
本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。