输入
就绪
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输入统计信息可通过此字段上方的“统计”按钮查看。
输出
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输出统计信息可通过此字段上方的“统计”按钮查看。
结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。
这个工具能做什么
XML 转 JSON 转换器解析 XML 文档,并以带缩进的 JSON 输出相同的数据。元素成为键,属性成为带 @_ 前缀的键,同名的重复元素则成为数组。
XML 声明(<?xml ...?>)会被忽略。看起来像数字的文本,例如 9.99,会作为 JSON 数字而不是字符串返回。
适用场景
- 在 JavaScript 中处理 RSS feed、站点地图、SOAP 响应或配置文件,这时 JSON 更容易操作。
- 把数据从基于 XML 的系统迁移到 JSON API 或文档数据库。
- 查看大型 XML 文件:JSON 输出通常更容易浏览,格式化之后尤其如此。
示例
输入
<catalog>
<book id="b1"><title>Dune</title><price>9.99</price></book>
<book id="b2"><title>Emma</title><price>4.5</price></book>
</catalog>
输出
{
"catalog": {
"book": [
{
"title": "Dune",
"price": "9.99",
"@_id": "b1"
},
{
"title": "Emma",
"price": "4.5",
"@_id": "b2"
}
],
"#text": "\n \n \n"
}
}关于这个工具的问题
为什么有些键带有 @_ 前缀?
那些是 XML 属性。这个前缀用来把它们与可能同名的子元素区分开。JSON 转 XML 转换器会把它们还原为属性。
为什么有的元素是数组,有的是对象?
在同一父元素下出现多次的元素会变成数组,只出现一次的元素则保持为单个对象。如果你的代码总是期望得到数组,请注意处理这种情况。
如果我的 XML 无效怎么办?
转换会报错并中止。使用检查并提供修复建议或 XML 验证工具,找出未闭合的标签、未加引号的属性或缺失的根元素。