博客
简体中文

JSON转XML — 在线转换对象和数组

JSON转XML,可设置根元素,数组映射规则清晰

在浏览器中处理 · 不上传任何内容

对象的键成为元素名,数组中的每一项成为 item 元素。null、空对象和空数组都会变成空元素,因此无法还原原来的类型。不能作为元素名的键会报错。

结果

使用方法

  1. 粘贴合法的 JSON。
  2. 设置根元素名称,或保留默认的 root。
  3. 确认数组和空值的表示方式是否符合需要。
  4. 复制生成的 XML 文本。

映射规则

对象的键成为 XML 元素名。数组中的每一项成为一个 item 子元素,顺序保持不变。& 符号、尖括号和引号会被转义为 XML 实体。字符串中的回车符使用字符引用表示。中文、韩文和 emoji 的值保持为 Unicode 文本。

null、空对象和空数组都会变成空元素。基本类型的值不带类型属性,因此仅凭输出无法还原原来的 JSON 类型。元素名必须以受支持的字母或下划线开头,不支持带冒号的命名空间前缀。XML 1.0 不允许的控制字符和单独的代理码元会被拒绝。

示例

{"name":"小明","tags":["中文","😀"]} 会生成一个 name 元素,以及一个包含两个 item 子元素的 tags 元素。{"message":"A & B"} 中的 & 会被转义。{"empty":null} 会生成一个空元素。

精度与限制

遇到重复的键、超出安全范围的整数、精度过高的小数和溢出的数字时,工具会直接报错,而不会悄悄改变数值。需要精确保留的标识符和小数数量,请在 JSON 中写成字符串。输入最多 100 万个字符、64 层嵌套。这是通用的元素映射,并不实现某个厂商特定的 XML 结构定义。所有处理都在浏览器中完成。

常见问题

数组会怎样表示?

数组中的每个值都会变成外层元素里的一个 item 元素,数组顺序保持不变。

转换能保留所有JSON类型吗?

不能。数字和字符串在 XML 中都是同样的文本,null、空对象和空数组都会变成空元素。如果需要来回转换后完全一致,请保留原始 JSON。

为什么某个属性名被拒绝了?

对象的键必须是可用的 XML 元素名。含空格、冒号、emoji 或以数字开头的键会被拒绝。中文和韩文字符可以使用。

数据会上传到服务器吗?

不会。所有处理都在你的浏览器中进行。

没找到想要的工具?