JSON 转 XML 工具

将 JSON 转换为带缩进的 XML,适用于 SOAP 服务、遗留系统集成和基于 XML 的配置文件。

JSON

将 JSON 对象转换为 XML 元素

SOAP 服务、支付网关、RSS 订阅源和许多企业系统仍在使用 XML。本工具以可预测的方式将 JSON 映射为 XML:每个键成为一个元素,数组成为按项数重复的同名元素,嵌套对象成为嵌套元素。如需生成属性或混合文本,请使用特殊键 _attributes 和 _text;这也正是 XML 转 JSON 工具输出的结构,因此数据可以来回转换。输出使用两个空格缩进。

使用方法

  1. 将数据包裹在一个顶层键中,该键会成为 XML 根元素,例如 {"order": {...}}。
  2. 粘贴 JSON;在需要属性的元素中添加 _attributes 对象。
  3. 从输出编辑器中复制 XML。

常见问题

为什么我的 XML 有多个根元素?
JSON 中的每个顶层键都会成为一个顶层元素。格式良好的 XML 文档必须有且只有一个根元素,因此请将数据包裹在单个键中,例如 {"root": {...}}。
如何创建 XML 属性?
在元素中添加 _attributes 对象,例如 {"book": {"_attributes": {"id": "bk101"}, "title": "Midnight Rain"}} 会生成 <book id="bk101"><title>Midnight Rain</title></book>。
会添加 XML 声明吗?
默认不会。在顶层添加 _declaration 键,例如 {"_declaration": {"_attributes": {"version": "1.0", "encoding": "UTF-8"}}},即可输出 <?xml version="1.0" encoding="UTF-8"?>。

示例:JSON 转 XML

JSON 输入

{
  "order": {
    "_attributes": { "id": "1042" },
    "customer": "Ada Lovelace",
    "item": [
      { "sku": "BK-01", "qty": 2 },
      { "sku": "PN-07", "qty": 1 }
    ]
  }
}

XML 输出

<order id="1042">
  <customer>Ada Lovelace</customer>
  <item>
    <sku>BK-01</sku>
    <qty>2</qty>
  </item>
  <item>
    <sku>PN-07</sku>
    <qty>1</qty>
  </item>
</order>

其他转换