什么是JSON转XML?

JSON to XML Converter 将 JSON 对象和数组转换为格式良好的 XML。嵌套结构、数组和特殊字符都能正确转义。适合需要 XML 输入的 SOAP API 和遗留系统。

工具会转义特殊字符(& < > " '),把含空格或符号的键名清理成合法标签,并提供两种数组样式:重复元素(<book>...</book><book>...</book>)或包裹元素(<books><item>...</item></books>)。还可以设置根元素名,选择是否输出 XML 声明和是否缩进。

使用方法

  1. 第一步——粘贴 JSON 数据或上传 .json 文件。工具会在转换前验证 JSON 的正确性。
  2. 第二步——配置根元素名称,并选择数组的表示方式(重复元素或包裹在父元素中)。
  3. 第三步——查看带有语法高亮的生成 XML,然后复制到剪贴板或下载为 .xml 文件。

何时使用

  • 对接只接受 XML 报文的 SOAP 服务或老旧企业接口。
  • 用一份 JSON 列表生成 XML 站点地图或 RSS 订阅。
  • 为 XSLT 变换或 XSD 校验流水线准备测试数据。

结果

您需要将产品目录 JSON 转换为 SOAP API 所需格式,设置根元素为 catalog,即可获得正确嵌套的 XML 输出,包含 products、item、id 和 name 等标签——无需手动编写 XML。

常见问题

数组在 XML 里是怎么表示的?
两种方式。「重复元素」会为每个数组项生成兄弟标签(<user>...</user><user>...</user>),大多数 XSD 期待这种结构。「包裹在父元素中」加一个容器,里面用 <item> 子节点(<users><item>...</item></users>),适合要求显式包装的严格 schema。
JSON 键里含空格或点号怎么处理?
XML 标签名不允许空格和大部分标点,工具会把非法字符替换成下划线。`first name` 会变成 <first_name>。数字开头的键会加一个下划线前缀,保证 XML 合法。两类键前缀有特殊含义:以 @ 开头的键会变成父元素的属性(`"@id": 1` 生成 id="1"),而 #text 键会成为元素的文本内容。
生成的 XML 能通过我的 XSD 或 DTD 校验吗?
工具生成的是 well-formed XML,但 schema 校验要看元素名、属性位置、顺序等,而这些信息 JSON 本身不携带。如果需要属性或严格顺序,提前在 JSON 里改键名,或者用 XSLT 后处理。
为什么 XML 声明 <?xml version="1.0" encoding="UTF-8"?> 有时出现有时不出现?
由「包含 XML 声明」开关控制。SOAP、站点地图和独立 XML 文件通常需要这一行;但嵌入在别的文档里的 XML 片段不需要,关掉该选项即可省略。
null 值如何处理?
null 和 undefined 会变成自闭合标签,例如 <middleName/>。这样既保留了字段存在,也不会强制写空字符串。如果你需要 xsi:nil="true",在生成后手动替换即可,JSON 本身没有对应的语义。

相关工具