JSON 转 XML

把 JSON 转成 XML,或把 XML 转回 JSON。转换在浏览器里完成。

换成另一种写法的同一棵树

JSON 和 XML 可以装同一棵树,标点不一样。这一页把 JSON 写成元素,或把元素读回 JSON。它不检查结构描述,回来的数字也会变成文字。只想排版 JSON 用 JSON 格式化。YAML 用 JSON 转 YAML。

怎么用

  1. 贴上 JSON 或 XML。方向选「JSON 转 XML」或「XML 转 JSON」。
  2. 根元素名是写出 XML 时的最外层标签,默认 root。数组项名称用在最外层就是数组时,默认 item。
  3. 美化排版会加换行和缩进。关掉就是一行。
  4. 显示示例会交替。一次把 {"name":"Ada","n":2,"tags":["a","b"]} 转成 XML,下一次把这段 XML 转回 JSON。

值怎么写

对象变成嵌套元素。数组变成重复的同名标签。最外层如果是数组,会包进根元素,每一项用数组项名称。以 @ 开头的键变成属性。#text 变成标签里的文字。null 变成空标签。名称要以字母或下划线开头。数字开头、空格和多数标点会被拒绝。转回来时,相邻的同名标签变成 JSON 数组,属性变回 @名称,每个值都是文字,所以 2 会变成 "2"。浏览器解析不了的标签会提示 XML 错误。坏掉的 JSON 会提示 JSON 错误。

什么时候用

  • 把一小段 JSON 配置交给只收 XML 的软件。
  • 把短 XML 读成 JSON,再去排版。
  • 先看数组会变成重复标签,再决定要不要自己写转换。

常见问题

数字回来带了引号。

这种转换里 XML 没有数字类型。标签里的文字会变成 JSON 字符串。下一步若要数字,请自己转回去。

某个键被拒绝了。

XML 名称不能以数字开头,也不能有空格。请改成字母、数字、_、-、.,第一个字符用字母或下划线。