DevToolPal
简

JSON 转 XML

把 JSON 转换成格式良好、带缩进的 XML,数组变成重复元素,「@」开头的键变成属性。

本地处理,不上传

选项

输入

0 字符 · 0 B

输出

0 字符 · 0 B

功能简介

本工具把 JSON 数据转换为 XML:对象变成元素,数组变成重复元素,字符串、数字、布尔值变成文本,null 变成空元素。以 @ 开头的键会变成属性,#text 键设置元素的文本,这与「XML 转 JSON」工具输出的格式一致,数据可以来回转换。

使用方法

  1. 在「输入」框粘贴 JSON,上传 .json 文件,或点「示例」。
  2. 右侧实时显示 XML;JSON 不合法时会指出出错位置。
  3. 选择缩进方式,设置根元素名、属性键前缀,以及是否添加 <?xml ?> 声明。
  4. 复制 XML,或下载为 .xml 文件。

示例

{ "book": { "@id": "bk101", "title": "XML Guide", "tags": ["xml", "json"], "price": 44.95 } }

转换为

<?xml version="1.0" encoding="UTF-8"?>
<book id="bk101">
  <title>XML Guide</title>
  <tags>xml</tags>
  <tags>json</tags>
  <price>44.95</price>
</book>

说明

特殊字符会被转义(文本中的 &、<、>,属性中还包括 "),输出可以被任何 XML 解析器读取。JSON 无法表达命名空间、注释和 CDATA,所以不会生成这些内容。

常见问题

› 怎么从 JSON 生成 XML 属性?

让键以「@」开头。{"book": {"@id": "bk101", "title": "Guide"}} 会变成 <book id="bk101"><title>Guide</title></book>。前缀可以修改,清空后所有键都会变成元素。

› JSON 数组怎么转换?

数组会把所在元素按每一项重复一次,{"tag": ["a", "b"]} 会变成 <tag>a</tag><tag>b</tag>。顶层数组或数组里直接嵌套的数组使用 <item> 元素。

› 不是合法 XML 名称的键怎么处理?

空格和符号替换成下划线,以数字或「xml」开头的名称前面加下划线,保证输出始终是格式良好的 XML。

› 根元素是怎么来的?

如果 JSON 对象只有一个键,这个键就是根元素;否则全部内容会包在选项里设置的根元素名中,默认是「root」。