JSON ↔ XML 转换
转换
使用 `fast-xml-parser` 进行 JSON ↔ XML 双向转换。JSON 对象映射为嵌套元素;数组重复父元素。JSON 端的属性带 `@_` 前缀(`<book id="1">…</book>` 变为 `{ "book": { "@_id": 1, … } }`)。全部在浏览器内运行 — 数据不会离开页面。
—
输出
<library>
<name>AZ Tools</name>
<books>
<title>Hello</title>
<year>2024</year>
</books>
<books>
<title>World</title>
<year>2025</year>
</books>
</library>使用方法
- 选择方向(JSON → XML 或 XML → JSON)。
- 把数据粘到输入框 — 结果实时更新。
- JSON → XML 时如果输入没有单一顶级键,设置根元素名。
- 点击 ↔ 反转方向 — 当前输出作为新输入。
常见问题
- XML 属性在 JSON 里如何表示?
- 属性名前加 `@_`。`<book id="1">` 变成 `{ "@_id": 1 }`。前缀用于区分同名的子元素和属性。
- 重复的 XML 元素呢?
- 两个或以上同名兄弟元素变成 JSON 数组。只出现一次的保持为普通对象 — 解析器无法在只出现一次时判断它"应该"是数组。
- 命名空间、CDATA、注释如何处理?
- 命名空间原样保留在元素/属性名中。CDATA 内容以普通字符串返回。注释与处理指令在输出中被丢弃。
- 数字、布尔字符串会自动类型化吗?
- 会。`<year>2024</year>` 变 `"year": 2024`,`<active>true</active>` 变 `"active": true`。看起来像数字的字符串也可能被转换 — 想保留请在源中明确加引号。