XML输入
JSON输出
关于 XML 转 JSON
XML 转 JSON 工具基于 DOMParser API 在浏览器本地将 XML 文档解析并转换为 JSON 格式。合理处理 XML 属性(添加 @ 前缀区分属性与子元素)、文本节点(使用 #text 键名)、命名空间前缀和重复元素(自动转为数组)。支持 CDATA 区块、处理指令、注释和 XML 声明的可选保留,可选择是否去除命名空间前缀。转换最值得注意的坑在于「重复元素」:同一个父节点下出现多次的同名子元素,会被收集成数组,而只出现一次时则是普通对象——同一份 XML 在不同数据下可能结构不同,消费端代码要对这两种情况都做好兼容。适用于将 SOAP 接口响应、RSS 订阅源、Atom Feed、Android 布局文件和旧系统 XML 配置迁移为现代 JSON 格式。支持自定义属性前缀符号(默认 @)和文本节点键名(默认 #text)。例如把 <user><id>1</id></user> 转成 {"user":{"id":"1"}},属性与子节点会按规则映射为对象字段。
使用方法
- 打开「XML 转 JSON」
- 选择源格式与目标格式
- 根据需要调整输出选项
- 点击「转换」按钮,结果实时显示
- 复制或导出结果
使用场景
- 消费 SOAP 响应 — 把 SOAP 接口返回的 XML 转 JSON,让前端用 JSON.parse 直接处理。
- 解析 RSS/Atom — 将订阅源的 XML 转成 JSON,方便提取标题、链接、时间等字段。
- 迁移老系统 — 把遗留系统的 XML 数据转 JSON 后导入新的 JSON 化服务。
- 配置读取 — 将 XML 配置转 JSON,避免在前端引入笨重的 XML 解析库。
- 数据分析 — 转成 JSON 后用 jq、JSONPath 等工具做查询和统计。
- SVG 动态渲染 — 把 SVG 的 XML 标记转成 JS 对象,供 React/Vue 组件动态渲染。
常见问题
XML 属性会丢失吗?
不会。属性通常会映射成带特定前缀(如 @ 或 $)的键,与子元素区分开,确保信息完整。
重复元素怎么处理?
同名的重复子元素会被收集成 JSON 数组;只出现一次的元素则是普通对象,符合直觉,但消费方需对两种情况都兼容。
命名空间会怎样?
命名空间前缀通常会保留在键名中(如 ns:tag)。如果不需要,可在转换后手动清理或使用去前缀选项。
混合内容(文本+子元素)呢?
元素同时含文本和子节点时,文本会放进一个专用键(如 #text),子元素照常映射。
为什么 XML 根节点是数组?
因为 XML 只允许一个根节点而 JSON 数组表达的是多个并列内容,多文档或带包裹结构时会出现数组,可开启单元素降维选项。
想反向转换?
请使用本站的「JSON 转 XML」工具。
广告