XML ↔ JSON 转换器
保留大多数转换器丢失内容的双向 XML/JSON 转换器:属性、混合内容、重复元素。属性变成带 `@`(可配置)前缀的键,所以 `<book id="1">` 变成 `{"@id": "1"}`。重复子元素折叠为数组。与属性并列的文本内容进入 `#text` 键(也可配置)。XML 侧使用浏览器原生 `DOMParser` — 与浏览器处理 `application/xml` 响应相同的代码路径,所以命名空间、实体和 CDATA 都能用。JSON 侧反转相同约定以进行往返。
—
使用方法
- 选方向。粘贴 XML(或 JSON)— 示例数据一键加载。
- 如果目标是特定 schema(`x2js`、`fast-xml-parser`、自定义),调整属性前缀和文本键。
- JSON→XML 让你设置根元素名并切换 `<?xml ... ?>` 声明。准备好就复制。
常见问题
- 为什么属性加前缀?
- 因为 JSON 原生不区分属性和子元素。加前缀(用 `@`、`_` 或任何你喜欢的)让往返无损 — 你可以 XML→JSON→XML 转换并得到相同文档。没有约定,属性会与子元素名冲突。
- 处理混合内容(`<p>hello <b>world</b>!</p>`)吗?
- 部分。纯文本变成字符串;带文本的元素子节点变成与子节点并列的 `{ #text: '...' }`。交错的文本和元素(如 `hello <b>world</b>!`)折叠到 `#text` 键中的合并文本,能往返但丢失原始顺序。对混合内容繁重的文档(HTML、DocBook),专用解析器更好。
相关工具
JS 对象 ↔ JSON
把 JavaScript 对象字面量 (`{name: 'Alice'}`) 转为严格 JSON — 或把严格 JSON 反向转为带无引号键的整洁 JS 字面量。
转换 0 0
字符串转义转换器
为 10 种上下文一次性转义字符串 — JavaScript、JSON、HTML 实体、URL、SQL、正则、Bash(单/双引号)、C 字符串、Unicode \u 转义。按需复制。
开发 0 0
Plist 查看器(二进制与 XML)
打开苹果属性列表——无论二进制还是 XML——以树形查看,并可转换为 JSON 或 XML plist。
文件 0 0
JSON ↔ YAML 转换器
JSON 与 YAML 互转——选择缩进,复制结果。
转换 0 0
INI ↔ JSON 转换器
在 INI 风格配置文件与 JSON 之间往返 — 支持节、点号嵌套、注释及值类型推断。
转换 0 0
TOML ↔ JSON 转换器
在 TOML(`Cargo.toml`、`pyproject.toml`、Hugo 配置)和 JSON 之间转换 —— 处理表、array-of-tables、内联表、类型化标量。
转换 0 0