功能简介
本工具把 JSON 数据转换为 XML:对象变成元素,数组变成重复元素,字符串、数字、布尔值变成文本,null 变成空元素。以 @ 开头的键会变成属性,#text 键设置元素的文本,这与「XML 转 JSON」工具输出的格式一致,数据可以来回转换。
使用方法
- 在「输入」框粘贴 JSON,上传
.json文件,或点「示例」。 - 右侧实时显示 XML;JSON 不合法时会指出出错位置。
- 选择缩进方式,设置根元素名、属性键前缀,以及是否添加
<?xml ?>声明。 - 复制 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」。