自 2010 年 · 每月支持超过 200 万次工具运行
自 2010 年
添加到 Chrome

我的工具箱

自动模式

还没有收藏的工具。

升级为高级版
相关工具
TOML 转 JSON 转换器XML验证器CSV转JSON转换器JSON格式化和验证工具XML网站地图生成器
主页 > 文本工具 > 其他文字工具
 

XML转JSON转换器

将XML转换为JSON,支持BadgerFish、Compact、JsonML和Preserve四种转换风格,附交互式树形视图、数字和布尔值智能识别、属性处理及精确到行的错误提示。

免费使用无需注册即时出结果
XML转JSON转换器立即免费试用 ▼
📚 尝试示例
XML

Embed XML转JSON转换器 Widget

XML转JSON转换器

欢迎使用 xml转json转换器,这是一款免费的在线工具,可在几秒钟内将 XML 文档转换为整洁的 JSON。无论您是在对旧有的 SOAP 负载进行现代化改造、为前端展平 RSS Feed,还是为 JavaScript 消费端准备配置数据,此转换器都能为您提供四种不同的输出样式、智能类型检测、交互式树状预览和详细的结构统计信息。

为什么要将 XML 转换为 JSON?

XML 和 JSON 都能表示结构化数据,但它们产生于不同的时代,具有不同的取舍。XML 擅长描述混合内容、属性和具有正式架构的文档。JSON 则更轻量,可直接映射到 JavaScript 对象,是大多数现代 Web API 的默认格式。将 XML 转换为 JSON 让您能够在保留数据的同时,切换到一种解析速度更快、可读性更强且在几乎所有编程语言中都更易使用的格式。

转换 XML 到 JSON 的最佳方法是什么?

由于 JSON 没有原生的属性、混合内容或有序元素概念,因此没有单一的标准 XML 到 JSON 映射。本工具提供四种常用策略,以便您可以根据下游消费端的预期来匹配输出。

样式 映射方式 适用场景
Standard
(BadgerFish)
属性使用 @ 前缀,混合文本存储在 #text 中。重复的同级元素变为数组。 无损、可预测 —— 不确定时的默认选择。
Compact 属性与子元素合并到同一个对象中。文本存储为 _text。重复的同级元素变为数组。 当您确定没有属性/子元素名称冲突时,生成的 JSON 简洁且对人类友好。
JsonML 每个元素都是一个数组 [tag, {attrs}, ...children],完全保留元素顺序。 具有混合内容、标记或顺序敏感(类 HTML)的文档。
Preserve 每个元素变为 { tag, attributes, text, children } —— 显式且冗长。 需要往返转换回 XML,或需要完整结构的架构工具。

快速对照示例

给定以下 XML:

<book id="1"><title>1984</title></book>
Standard: {"book": {"@id": 1, "title": "1984"}}
Compact: {"book": {"id": 1, "title": "1984"}}
JsonML: ["book", {"id": 1}, ["title", "1984"]]
Preserve: {"tag": "book", "attributes": {"id": 1}, "children": [{"tag": "title", "text": "1984"}]}

转换器是否处理 XML 属性?

是的。每种样式都会保留属性。在 Standard 样式中,它们带有 @ 前缀以避免与子元素名称冲突。在 Compact 样式中,它们与子元素处于同一层级。在 JsonML 中,它们位于数组的第二个位置。在 Preserve 样式中,它们被保存在专门的 attributes 对象中。

我可以将带有数字和布尔值的 XML 转换为带类型的 JSON 吗?

是的。启用 自动检测类型 选项,转换器会将诸如 42 的字符串转换为整数,3.14 转换为浮点数,true/false 转换为 JSON 布尔值。字面量 null 会转换为 JSON null。如果您需要所有值保持为字符串,请禁用该选项 —— 这在往返转换回 XML 时非常有用,因为 XML 类型总是文本形式的。

重复的同级元素如何处理?

当同一父元素下多次出现某个元素时,转换器会自动将这些同级元素归组到该标签名下的 JSON 数组中。单个出现的元素保持为单个对象,这符合大多数 JSON 使用方对数据的预期外观。

输入: <list><item>A</item><item>B</item></list>
输出: {"list": {"item": ["A", "B"]}}

它支持 XML 命名空间吗?

是的。默认情况下,转换器会去除命名空间 URI 并仅保留本地名称以提高可读性 —— 例如 <soap:Body> 仅变为 Body。当您需要区分来自不同命名空间的元素时,请启用 保留命名空间前缀 以在 JSON 键中保留源自命名空间的简短前缀。

如何使用此工具

  1. 粘贴 XML: 将您的 XML 文档复制到输入文本框中,或点击示例按钮之一加载现成的示例。
  2. 选择转换样式: Standard 是一个安全的默认选择。如果您的架构避免了名称冲突,Compact 可以提供更简洁的输出。JsonML 保留元素顺序。Preserve 是最显式的。
  3. 设置输出选项: 选择缩进大小(2 个空格、4 个空格、制表符或压缩为单行),是否自动检测数字和布尔类型,是否按字母顺序对键进行排序,以及如何处理命名空间。
  4. 转换: 点击 转换为 JSON。工具将解析 XML,生成 JSON 输出,渲染交互式树状预览,并显示元素/属性/深度统计信息。
  5. 复制或下载: 使用“复制 JSON”按钮将其复制到剪贴板,或将结果下载为 .json 文件。“对照视图”标签页可帮助您直观地比较转换前后的差异。

实际应用场景

针对开发者

针对数据工程师

针对内容和配置

获得最佳结果的小贴士

常见问题解答

我的 XML 数据是私密的吗?

您的 XML 仅发送到服务器进行解析和转换,然后返回响应。我们不存储上传的文档或记录其内容。对于高度敏感的数据,您仍然可以通过在本地运行开源服务器来离线使用该工具。

输入是否有大小限制?

该工具每次请求最多接受约 200 KB 的 XML,这对于典型的配置文件、API 响应和 RSS Feed 来说绰绰有余。对于数 MB 大小的转储数据,请使用命令行工具。

关于 XML 注释和 CDATA?

XML 注释会被忽略,因为 JSON 没有注释语法。CDATA 部分的处理方式与常规文本内容相同 —— CDATA 内部的字符将成为 JSON 输出中元素文本的一部分。

转换是否可以往返转换回 XML?

只有 PreserveJsonML 样式能保证完全的往返转换,因为它们保留了每一条信息(顺序、属性、混合文本)。Standard 和 Compact 在某些边缘情况下(如文本与元素交错)是有损的。

它能在手机上使用吗?

是的。界面会自适应小屏幕 —— 布局会垂直堆叠,树状预览变为可滚动,对照视图切换为单列,以便您仍能比较输入和输出。

如果 XML 格式错误,我会看到什么错误?

解析器会报告解析失败的行号和列号。常见原因包括未闭合的标签、括号不匹配、多余的 & 符号或属性值周围缺少引号。修正报告行中的错误后重试即可。

更多资源

引用此内容、页面或工具为:

"XML转JSON转换器" 于 https://MiniWebtool.com/zh-cn/xml转json转换器/,来自 MiniWebtool,https://MiniWebtool.com/

由 miniwebtool 团队提供。更新于:2026年4月25日

其他文字工具:

热门与最新工具:

JSON 转 CSV 转换器JSON转YAML转换器JSON字符串转义反转义查看全部 →
主页 > 文本工具 > 其他文字工具 > XML转JSON转换器