JSON 转 XML

JSON 转 XML 工具,把 JSON 数据转换成带缩进和 XML 声明的规范 XML。根节点名与数组项标签名都能自定义,数组会输出为同名重复标签。适合 SOAP、老旧系统对接和配置文件场景,转换在浏览器本地完成,数据不上传。

在工作台中打开 本地处理 · 数据不上传

怎么使用

  1. 1

    粘贴 JSON

    对象、数组或标量均可;数组与标量会自动包裹在可配置的根节点中。

  2. 2

    配置根节点与数组项

    在选项区填写根节点名(默认 root)与数组项标签名(默认 item)。

  3. 3

    复制 XML

    右侧即时生成带 <?xml?> 声明与缩进的 XML,复制即可。

功能特点

数组转重复标签

{"list":[1,2]} 输出 <list>1</list><list>2</list>,符合 XML 表达集合的惯例。

根节点可配置

根节点名与数组项标签名均可自定义,适配不同接口的报文规范。

非法标签名拦截

JSON 键名含空格等 XML 非法字符时,构建后再过一遍校验器,明确指出问题位置。

实体自动转义

&、<、> 等特殊字符自动转义为实体引用,生成的 XML 可被严格解析器接受。

常见错误与排查

  • ! XML 文档必须恰好有一个根元素,因此所有 JSON 内容都会被包在根节点(默认 <root>)下。
  • ! JSON 的 null 会输出为自闭合标签 <x/>;XML 没有 null,回转时会得到空字符串,这是格式本身的限制。
  • ! 标签名只能以字母或下划线开头,不能包含空格与冒号(命名空间前缀请在结果中手工添加)。

常见问题

JSON 属性(attribute)怎么表示?

JSON 本身没有元素与属性之分,本工具统一输出为子元素。目标系统必须用属性时,可在结果 XML 中手工调整;反向转换时属性会被保留为 @_ 前缀的键。

为什么输出多了一层 <root>?

XML 要求单根文档,而 JSON 可能是数组或含多个顶层键的对象。统一包一层 root 能保证任何 JSON 都能生成合法 XML,根节点名可以在选项中修改。

支持 XML 命名空间(xmlns)吗?

输出是结构良好的 XML,命名空间声明可作为普通属性写入键名后由目标系统识别;工具不做命名空间语义校验。

相关工具