XML 转 JSON 转换器

将 XML 转换为 JSON:属性保留在前缀下,重复元素变为数组,可选解析数字/布尔值,并给出清晰的语法错误。免费,在浏览器内运行。

完全在浏览器中运行,您的数据不会被上传。

相关工具

查看全部

什么是 XML 转 JSON?

粘贴 XML,即可得到等价的 JSON 对象。元素名称变为键,重复元素变为数组,属性按可配置的前缀保留,混合文本存放在 #text 下。无效的 XML 会连同行号和列号一起报告。

如何使用 XML 转 JSON

  1. 将 XML 粘贴到 XML 输入框中,或使用加载示例或打开文件。
  2. 按需调整属性键前缀、忽略属性、转换数字和布尔值以及元素始终使用数组。
  3. 选择 JSON 的缩进。
  4. JSON 输出会随你的输入实时更新;可使用复制或下载。

示例

输入
<book id="7"><title>Dune</title><price>9.5</price></book>
输出
{
  "book": {
    "title": "Dune",
    "price": 9.5,
    "@_id": 7
  }
}

何时使用 XML 转 JSON

适合查看 XML 数据(订阅源、SOAP 响应、配置文件)或将其迁移到基于 JSON 的工具中。注释、命名空间声明以及元素相对于文本的顺序不会被精确保留,因此不适合对 XHTML 这类文档做往返转换。

XML 转 JSON 的工作原理

文档会先用 fast-xml-parser 的 XMLValidator 验证,它会报告第一个语法错误及其位置。然后用 XMLParser 解析:XML 声明和处理指令会被丢弃,值会被去除首尾空白,并且在开启类型转换时,9.5 或 true 这样的数字和布尔文本会变成 JSON 数字或布尔值。启用元素始终使用数组后,每个元素都会被包装为数组,因此无论出现多少个子元素,结构都保持稳定。

常见用例

  • 把 SOAP 或 RSS 响应作为 JSON 来查看
  • 把 XML 配置迁移为 JSON 格式
  • 把导出的 XML 加载到 JavaScript 代码中
  • 通过转换为 JSON 来比较两个 XML 文档

常见问题

为什么单个元素是对象,而两个元素就是数组?

默认情况下,解析器只在元素重复时才创建数组。启用元素始终使用数组可得到可预测的结构。

为什么“007”变成了 7?

类型转换会把数字文本变成数字。关闭转换数字和布尔值即可让所有值保持为字符串。

属性放在哪里?

它们以前缀存放在元素的对象上,例如 "@_id": 7。启用忽略属性可将其丢弃。

推荐的下一步

探索更多分类