什么是XML 转 JSON 转换器?
XML 转 JSON 转换工具可将 XML 文档即时转换为结构化 JSON。支持属性、嵌套元素、文本节点、CDATA 段和命名空间。适合将 XML API 迁移到 JSON 系统,或在 JavaScript 中处理 XML 数据。
转换器底层使用 fast-xml-parser,能正确处理真实场景的 XML,包括命名空间、CDATA 区块、混合内容和任意深度的嵌套。属性在输出里加 @_ 前缀,重复元素自动合并成数组。你可以切换紧凑模式输出单行 JSON,或者用 2 / 4 空格缩进的可读格式。
使用方法
- 第一步 — 粘贴 XML 内容或上传 XML 文件。转换器会验证结构并立即显示解析错误。
- 第二步 — 配置转换选项:是否保留属性(以 @attr 形式)、是否折叠纯文本元素、是否为重复元素保留数组。
- 第三步 — 复制格式化的 JSON 输出或将其下载为 .json 文件。
何时使用
- 把老旧 SOAP 或 RSS 接口现代化,改成前端期待的 JSON 格式。
- 把 XML 问卷或测试结果数据导入到以 JSON 文档存储的 NoSQL 数据库里。
- 从供应商的 XML 导出里取配置,重写成 YAML 或 JSON 流水线能用的格式。
结果
您收到一个包含嵌套产品元素和属性的 SOAP API 响应。粘贴 XML 后,<product id="123"><name>Widget</name></product> 被转换为 {"product":{"@id":"123","name":"Widget"}},可直接用于前端代码。
常见问题
- XML 的属性在 JSON 输出里怎么表示?
- 属性会加 @_ 前缀,跟子元素区分开。比如 <book id="42"><title>Hi</title></book> 变成 {"book":{"@_id":"42","title":"Hi"}}。如果下游只关心元素内容,关闭「保留属性」就会把属性全部去掉。
- XML 元素重复(比如多个 <item>)会怎么样?
- 重复元素会自动合并成 JSON 数组。第一次出现时建数组,后面的兄弟节点 push 进去,单个元素保持普通对象。这符合大多数 JSON 使用者对转换 feed 的预期。
- 能处理 CDATA、命名空间和注释吗?
- CDATA 内容会原样保留到 #cdata 键里。命名空间作为元素名的一部分保留(xmlns:prefix 不变)。XML 注释会被丢弃,因为 JSON 没有对应的注释语法。
- 为什么数字输出成字符串而不是数字?
- 转换器默认会把数字文本转成数字、true/false 文本转成布尔值,所以 42 输出成 42 而不是 "42"。如果下游 API 需要所有值都是字符串,或者前导零和 ID 字段必须原样保留,请在「设置」中关闭「解析数字和布尔值」。
- 转换器能处理多大的 XML?
- 工具完全在你的设备上运行,实际上限取决于内存,单个文档一般可以到几十兆字节。超大 feed(几个 GB)需要流式解析器,但日常 API 数据、导出和配置文件根本到不了上限。