XML 转 JSON 转换器
将 XML 转换为 JSON,按你的方式处理属性、数组、CDATA 和命名空间。可粘贴或上传 .xml 文件,输出格式化或紧凑的 JSON。
正在加载XML 转 JSON 转换器…
您的文件绝不离开您的设备
如何使用XML 转 JSON 转换器
- 1
在此页面打开XML 转 JSON 转换器,它直接在浏览器中加载。
- 2
添加文件、文本或数值,并调整设置。
- 3
复制或下载结果。不会上传或存储任何内容。
关于此工具
XML 依然无处不在:SOAP API、RSS 和 Atom 订阅源、Office 文件、站点地图以及旧系统导出的数据。而现代应用和 JavaScript 代码更偏爱 JSON。这款 XML 转 JSON 转换器会解析你的 XML,并将其转换为 JSON 对象和数组,对于 XML 中在 JSON 里没有直接对应的部分,例如属性、重复元素和命名空间,都提供清晰的选项。
如何将 XML 转换为 JSON
- 粘贴 XML 或上传 .xml 文件。
- 选择属性、数组和文本的表示方式。
- 设置缩进,或选择紧凑输出。
- 复制或下载 JSON。
示例
<book id="bk101"><title>Midnight Rain</title><price>5.95</price></book>
会变成
{"book":{"@id":"bk101","title":"Midnight Rain","price":5.95}}
选项
- Include attributes:使用 @ 等前缀,避免与子元素冲突;如果不需要,也可以删除属性。
- 数组模式:自动(重复元素变为数组)、始终使用数组,或将单个项目紧凑输出。
- 文本节点名称(#text),用于同时包含属性和文本的元素。
- 保留 CDATA,并使用单独的节点名称。
- 忽略命名空间以获得更简洁的键,或保留前缀。
- 如有需要,包含 XML 中的注释。
- 解析数字和布尔值为真正的 JSON 类型,或将所有值保留为文本。
- 缩进为 2、4 或 8 个空格。
为什么数组设置很重要
在 XML 中,一个 <item> 和三个 <item> 元素看起来差不多,但在 JSON 中,一个会变成对象,三个会变成数组。这样一来,期望数组的代码遇到单个项目时就会出错。如果你的应用总是期望列表,请选择 Always use arrays 以获得可预期的输出。
小贴士
- 对于 00123 这类带前导零的编码,关闭数字解析,让它们保持为文本。
- 检查 XML 是否格式良好:每个标签都已闭合,只有一个根元素,属性值带引号。
- 大型订阅源也能在浏览器中顺利转换;统计信息会显示元素数量和深度。
需要反向转换?请使用 JSON 转 XML 转换器。用 JSON 格式化工具整理结果。
常见问题
XML 属性如何转换?
开启 Include attributes 后,属性会变成带前缀的键,例如 @id,与子元素并列。你也可以选择删除属性。
为什么一个元素是对象,另一个却是数组?
在自动模式下,重复的元素会变成数组,单个元素会变成对象。选择 Always use arrays 可获得一致的输出。
命名空间会怎么处理?
你可以在键中保留命名空间前缀,也可以忽略命名空间,得到更简洁的 JSON。
数字会转换成 JSON 数字吗?
会,前提是开启 Parse numbers,这是默认设置。关闭后所有值都保留为文本,例如适用于带前导零的 ID。
可以上传 XML 文件吗?
可以。上传 .xml 或 .txt 文件,或直接粘贴 XML。
我的文件会上传到服务器吗?
不会。解析和转换都在你的浏览器中完成。
