转换器

XML to JSON

粘贴 XML 或 JSON,选择结构如何映射,一键转换。解析器保留注释、CDATA 和混合内容,指出每个问题的确切行号,并量化这次转换的代价。

错误带行列号保真度指标内置 XPath 搜索内容不离开浏览器
输入 (XML)
点击「转换」。
元素
0
属性
0
深度
0
大小
0 msCtrl+↵ · Alt+S · Ctrl+Shift+B
继续处理

工作方式

1

放进来

粘贴、拖入或打开文件:最大 32 MB,支持 UTF-8 与 UTF-16。文件到达时不会自动转换,它会等你。

2

设定形状

属性前缀、文本键名、单个标签是否成为数组、命名空间、空元素、类型化取值。这些才是下游真正在意的设定。

3

开始转换

点击「转换」或按 Ctrl+Enter。超过 40 KB 的文档交给 Web Worker,页面不会卡死,保真度指标会告诉你代价。

4

带走结果

复制、下载,或直接交给套件中的另一个工具。任何时候按住 Alt,就能在结果位置看到原文。

自带解析器,不走 DOM

文档被读入一棵保留注释、CDATA 段、处理指令以及混合内容顺序的树 —— 这些正是绕道 DOM 时被悄悄丢掉的东西。

错误带行号和列号

每个问题都在其发生处报告,解析器不会遇到第一个就停下。点击一条提示,光标直接跳过去。

形状由你决定

属性前缀、文本键名、数组策略、命名空间、类型化取值、空元素。决定 JSON 能不能用的约定,是设置项,不是默认假设。

可以量化的保真度

每次转换都会反向转回并逐节点比对,你拿到的是百分比和确切的差异清单,而不是一句承诺。

内置 XPath 1.0

用浏览器自带的引擎查询文档。找路径、找取值,不必导出到任何地方。

大文档依然顺滑

超过 40 KB 的工作交给 Web Worker。而且打字时什么都不会运行:转换等你按按钮。

不上传任何内容

解析、转换、查询全在这个标签页里完成。没有服务器,没有遥测,文件不离开设备。

交接给套件里的其他工具

把结果直接送到 JSONFlow、DiffSnap、CodeCard 或 Hash Bolt,无需下载再上传。

xml 转 json

一个会承认自己丢了什么的转换器

一个把过程摊开给你看的转换器:每个错误的确切行号、决定 JSON 形状的约定,以及往返之后文档还剩下多少。

一切都在这个标签页里运行

解析、转换、XPath 和往返校验全部在浏览器里用普通 JavaScript 执行。超过 40 KB 的文档转入 Web Worker 以保持界面响应,并且不会上传、排队或记录到任何地方。

为真实文档而做

为真实文档而做

RSS 源、SOAP 信封、Android 字符串资源、.NET 配置文件、站点地图、SVG:带命名空间、CDATA 和注释的真实文档,而不是干净的小例子。保序投影能原样重现,扁平投影会告诉你它压平了什么。

从构造上就是私密的

这个工具没有服务端。不需要账号,不上传,不对你的内容做分析。关掉标签页文档就没了,因为它唯一存在过的地方就是本地内存。

常见问题

Q我的数据会被发送到服务器吗?+

不会。解析器、转换器、XPath 引擎和往返校验都在你的浏览器里运行。根本不存在可以接收数据的服务端。

Q属性和文本是怎么处理的?+

属性会带一个前缀(默认 @),元素自身的文本放在文本键下(默认 #text)。两者都可修改,以匹配下游期望的约定;把前缀清空,属性就会与子元素混在一起。

Q为什么只出现一次的元素没有变成数组?+

默认只有标签真的重复时才会出现数组,这样才忠实于文档。如果下游需要稳定的形状,把「数组」设为「始终」,或把那些标签写进「强制数组的标签」。

Q保真度百分比是什么意思?+

结果会被转换回原格式,然后逐节点比对两棵树:元素、属性、文本片段、注释、CDATA 和处理指令。100% 表示没有任何丢失;低于 100% 会列出确切的差异。

Q能保留注释、CDATA 和混合内容吗?+

可以。打开「保留注释」和「保留 CDATA」,对于文本与元素顺序有意义的文档(例如 XHTML 片段)选择「保序」数组策略。只有保序投影能让混合内容以 100% 往返。

Q最大能转换多大的文件?+

最大 32 MB,支持 UTF-8 和 UTF-16。超过约 40 KB 的工作会移到 Web Worker,因此几兆字节的文档也不会卡住页面。这个工具唯一不做的事,就是在你打字时自动转换。

相关搜索

xml 转 jsonjson 转 xmlxml 转换器在线 xml 解析xpath 测试cdataxml 命名空间rss 转 json
oLoveTools 套件的一部分
oLoveTools

XML 与 JSON 互转,在你的浏览器里完成,并把损失写在标签上。

一切都在这个标签页里运行

解析、转换、XPath 和往返校验全部在浏览器里用普通 JavaScript 执行。超过 40 KB 的文档转入 Web Worker 以保持界面响应,并且不会上传、排队或记录到任何地方。

为真实文档而做

RSS 源、SOAP 信封、Android 字符串资源、.NET 配置文件、站点地图、SVG:带命名空间、CDATA 和注释的真实文档,而不是干净的小例子。保序投影能原样重现,扁平投影会告诉你它压平了什么。

从构造上就是私密的

这个工具没有服务端。不需要账号,不上传,不对你的内容做分析。关掉标签页文档就没了,因为它唯一存在过的地方就是本地内存。

xml 转 jsonjson 转 xmlxml 转换器在线 xml 解析xpath 测试cdataxml 命名空间rss 转 json

常见问题

我的数据会被发送到服务器吗?

不会。解析器、转换器、XPath 引擎和往返校验都在你的浏览器里运行。根本不存在可以接收数据的服务端。

属性和文本是怎么处理的?

属性会带一个前缀(默认 @),元素自身的文本放在文本键下(默认 #text)。两者都可修改,以匹配下游期望的约定;把前缀清空,属性就会与子元素混在一起。

为什么只出现一次的元素没有变成数组?

默认只有标签真的重复时才会出现数组,这样才忠实于文档。如果下游需要稳定的形状,把「数组」设为「始终」,或把那些标签写进「强制数组的标签」。

保真度百分比是什么意思?

结果会被转换回原格式,然后逐节点比对两棵树:元素、属性、文本片段、注释、CDATA 和处理指令。100% 表示没有任何丢失;低于 100% 会列出确切的差异。

能保留注释、CDATA 和混合内容吗?

可以。打开「保留注释」和「保留 CDATA」,对于文本与元素顺序有意义的文档(例如 XHTML 片段)选择「保序」数组策略。只有保序投影能让混合内容以 100% 往返。

最大能转换多大的文件?

最大 32 MB,支持 UTF-8 和 UTF-16。超过约 40 KB 的工作会移到 Web Worker,因此几兆字节的文档也不会卡住页面。这个工具唯一不做的事,就是在你打字时自动转换。

© 2026 oLoveTools关于

下一步

格式化并校验 JSON JSONFlow

XML to JSON | XML 与 JSON 互转,保真度可量化。

在浏览器中完成 XML 与 JSON 互转。错误带行列号,属性与数组约定可配置,内置 XPath 搜索,并提供往返保真度指标。任何内容都不会上传。

把 XML 转成 JSON,而不假装毫无损失

XML 和 JSON 描述的并不是同一个世界。XML 有属性、注释、CDATA 段、处理指令和有序的混合内容;JSON 只有对象、数组和四种标量。因此任何转换器都必须选择一种映射,而大多数都是悄悄选的:属性变成带前缀的键,碰巧只出现一次的元素变成单值而不是列表,带子节点的元素其文本被无声地合并或丢弃。这个工具把每一个这样的决定都摆到台面上并允许修改 —— 前缀、文本键名、数组策略、命名空间、空元素、类型化取值 —— 然后把结果反向转换回去,比对两棵树,让你确切看到哪些节点没能活下来。

实际差别体现在日常文档上:描述放在 CDATA 里的 RSS 源、命名空间前缀本身就是契约一部分的 SOAP 信封、一条译文里混着文本与标记的 Android 字符串文件。对这些文档,保序投影能原封不动地保留内容,指标显示 100%。如果你要的是扁平、易于消费的形状,同一份文档可以用类型化取值和强制数组来投影,指标会告诉你这份便利的代价。一切都在本地运行,所以受保密协议约束的文档放在这里和放在你的编辑器里一样安全。同一个页面上还有 XPath 1.0,用于真正的问题不是「帮我转换」而是「这里面哪些价格超过十」的时刻。

常见问题

我的数据会被发送到服务器吗?

不会。解析器、转换器、XPath 引擎和往返校验都在你的浏览器里运行。根本不存在可以接收数据的服务端。

属性和文本是怎么处理的?

属性会带一个前缀(默认 @),元素自身的文本放在文本键下(默认 #text)。两者都可修改,以匹配下游期望的约定;把前缀清空,属性就会与子元素混在一起。

为什么只出现一次的元素没有变成数组?

默认只有标签真的重复时才会出现数组,这样才忠实于文档。如果下游需要稳定的形状,把「数组」设为「始终」,或把那些标签写进「强制数组的标签」。

保真度百分比是什么意思?

结果会被转换回原格式,然后逐节点比对两棵树:元素、属性、文本片段、注释、CDATA 和处理指令。100% 表示没有任何丢失;低于 100% 会列出确切的差异。

能保留注释、CDATA 和混合内容吗?

可以。打开「保留注释」和「保留 CDATA」,对于文本与元素顺序有意义的文档(例如 XHTML 片段)选择「保序」数组策略。只有保序投影能让混合内容以 100% 往返。

最大能转换多大的文件?

最大 32 MB,支持 UTF-8 和 UTF-16。超过约 40 KB 的工作会移到 Web Worker,因此几兆字节的文档也不会卡住页面。这个工具唯一不做的事,就是在你打字时自动转换。

相关搜索

xml 转 json, json 转 xml, xml 转换器, 在线 xml 解析, xpath 测试, cdata, xml 命名空间, rss 转 json