XML 转 JSON 的工作方式
这个工具会将你的 XML 解析为文档树,并按稳定可预测的规则转换为 JSON。 元素会变成对象,属性可以保留,重复的同级元素会变成数组。 整个过程都直接在浏览器中完成,因此不会上传或存储任何内容。
适合哪些场景
XML 广泛用于订阅源、数据导出和企业系统集成,而 JSON 在现代应用中更易处理。 XML 转 JSON 适合需要 整洁导入、API 负载 或 开发者友好数据 的场景。
- API:将 XML 响应转换为 JSON 对象,方便脚本和服务调用。
- 订阅源:把类似 RSS 或商品数据源转换成 JSON 数据结构。
- 旧系统导出:将 XML 导出数据迁移到支持 JSON 的工具中。
- 自动化:先解析 XML,再在数据流程中统一使用 JSON。
需要反向转换(JSON → XML)?可以试试我们的 JSON 转 XML 转换器。 如果你需要 CSV 格式,也可以使用这个 XML 转 CSV 转换器。
转换规则
- 元素:会变成以标签名为键的 JSON 对象。
- 属性:若启用,会存放在
@下,例如{"@":{"id":"123"}}。 - 文本:若启用,会存放在
#text下;在“智能模式”中,纯文本元素会直接输出为字符串。 - 重复同级元素:会自动或强制转换为数组,以便输出结构更稳定可预测。
- 命名空间:标签名会按原样保留,包括前缀。
操作步骤:从 XML 到 JSON
只需几秒钟,就能完成转换:
- 添加 XML 文件。将文件拖入上方区域,或点击从设备中选择。
- 选择选项。设置属性、文本节点和数组的处理方式。
- 转换为 JSON。点击 转换为 JSON。工具会在本地完成所有处理。
- 保存输出文件。你可以逐个保存,也可以在全部处理完成后使用“全部保存”。
隐私、限制以及工具如何处理你的文件
FileYoga 的核心原则很简单: 你的文件始终由你掌控。XML 转 JSON 的处理会在本地浏览器中完成,因此数据不会上传到 FileYoga 服务器。
仅本地转换
转换过程完全在你设备上的浏览器内运行。XML 不会上传,生成的 JSON 文件也只会在你本地创建。
不会偷偷保存副本
当你清空列表或关闭标签页后,工具不会继续使用这些文件,也不会在服务器上保存任何副本。
没有人为限制
没有付费墙,也没有配额限制。真正的限制只来自你的设备内存和浏览器性能。
无需注册账号
打开页面即可使用,无需登录。转换完成后直接保存文件,用完即可离开。
实用建议
- 如果你的 XML 使用重复标签,建议保留“自动”数组模式,这样同级元素会自动转成数组。
- 如果你需要严格一致的结构,可以选择“强制数组”,让子元素组始终输出为数组。
- 如果你希望纯文本节点得到更简洁的 JSON 输出,可使用“智能模式”文本处理。
- 对于超大的 XML 文件,建议一次只转换一个文件,以减少内存压力。
常见问题排查
- 提示 XML 无效:XML 可能缺少闭合标签,或包含非法字符。请先校验后再试。
- 出现意料之外的数组:如果想要更自然的输出,可切换为“自动”;如果想保持严格一致,可使用“强制数组”。
- 文本丢失:请确认“文本节点”设置为保留或智能模式。
- 属性丢失:请将“属性”设置为 @attributes。
- 标签页卡住:嵌套层级很深或体积很大的 XML 可能会触发内存限制。建议一次只转换一个文件,并关闭其他占用资源较高的标签页。
常见问题
不会。XML 转 JSON 的整个过程都在你的浏览器中本地完成。XML 文件不会上传到 FileYoga 服务器,生成的 JSON 文件也只会在你的设备上创建。
如果你选择保留属性,它们会存放在元素对象中的 @ 键下。
例如:{"@":{"id":"123","type":"primary"}}。如果你选择“移除属性”,这些内容就不会被保留。
如果保留文本,内容会出现在 #text 下。智能模式会让输出更简洁:
如果某个元素只包含文本(没有子元素,也没有属性),它会直接变成普通字符串,而不是对象。
如果元素同时包含属性或子元素,智能模式仍会把文本保存在 #text 下。
在“自动”模式下,只有当同一父元素下的同名同级标签出现多次时,才会转换为数组。 在“强制数组”模式下,即使只有一个项目,子元素组也会始终输出为数组,这有助于保持固定一致的结构。
不会。这种情况被称为“混合内容”。如果一个元素同时包含嵌套元素和有意义的文本,
转换器会保留结构化子元素作为键,并将文本存放在 #text 下(除非你选择移除文本)。
这样能让输出保持可预测且更容易反向还原。
CDATA 会被当作文本内容处理。如果启用了文本输出,CDATA 会像普通文本一样出现在结果中:
在智能模式下会作为字符串输出;如果元素包含属性或子元素,则会保存在 #text 下。
不会。带命名空间前缀的标签会按原样保留,例如 ns:Item。
如果你想去掉或重命名这些前缀,建议先导出为 JSON,再在你的应用或脚本中处理这些键名。
“XML 无效”通常意味着缺少闭合标签、存在非法字符,或实体写法不正确。 如果转换后的结构看起来不符合预期,常见原因包括 XML 使用了重复同级标签(会转数组)、混合内容, 或你选择移除了属性。建议优先开启属性保留,并先使用自动数组模式再观察结果。
没有人为设置的限制。不过特别大的 XML 文件或嵌套层级很深时,可能会拖慢浏览器或触发内存限制。 如果遇到这种情况,建议一次只转换一个文件,关闭其他占用资源较高的标签页,或先简化 XML 结构后再转换。