工具
ZH

JSON 转 XML 在线转换工具

粘贴 JSON,即可立即得到格式良好的 XML。可以选择根元素、属性前缀和缩进方式,转换遵循简单、可预测的规则。

JSON → XML

JSON

XML

隐私保护:您的数据仅在浏览器中处理,绝不会被上传。

如何将 JSON 转换为 XML

  1. 粘贴 JSON 或打开 .json 文件。输入的同时,旁边就会显示 XML。
  2. 设置根元素名称(留空则使用唯一的顶层键)、属性前缀和缩进方式。
  3. 复制 XML,或下载为 .xml 文件。

JSON 与 XML 的映射规则

JSONXML
{"name": "Ada"}<name>Ada</name>
{"@id": "7"}父元素上的属性 id="7"
{"#text": "Hello"}父元素的文本内容
{"tag": ["a", "b"]}<tag>a</tag><tag>b</tag>
{"note": null}<note/>
{"2nd key": 1}<_2nd_key>1</_2nd_key>,无效名称会被自动修正
顶层数组 [1, 2]<root><item>1</item><item>2</item></root>
文本中的 &、<、>&amp;、&lt;、&gt;

JSON 与 XML 的区别

JSON 有数组、数字、布尔值和 null,而 XML 只有元素、属性和文本,因此类型无法保留:42 和 "42" 都会变成文本 42。反过来,XML 拥有 JSON 所没有的属性、命名空间和混合内容。如果你以后打算把 XML 转回 JSON,请保留这里使用的通用约定:用 @ 表示属性,用 #text 表示文本内容,大多数转换器都能识别。

常见问题

JSON 数组如何转换为 XML?

每一项都会成为一个以该数组的键命名的元素,因此 {"book": [ … ]} 会变成多个 <book> 元素。顶层数组的各项会成为根元素内的 <item> 元素。

如何从 JSON 生成 XML 属性?

在键名前加上 @ 前缀:{"user": {"@id": 7, "name": "Ada"}} 会变成 <user id="7"><name>Ada</name></user>。你可以在选项中更改前缀。

不是合法 XML 名称的键会如何处理?

XML 名称中不能包含的字符(如空格)会被替换为下划线,以数字或“xml”开头的名称会在前面加上下划线:"2nd key" 会变成 <_2nd_key>。

生成的 XML 是有效的吗?

是的。特殊字符都会被转义,每个元素名称都合法,文档有且只有一个根元素,顶部还可以选择添加 XML 声明。