JSON 转 XML 转换器

即时将 JSON 转换为 XML

JSON 输入

选项

XML 输出

转换结果将显示在这里...

概述

JSON 转 XML 转换器可将 JSON 对象或数组转换为格式正确、带缩进的 XML——当旧版 SOAP 服务、企业集成或仅支持 XML 的配置格式是你的 JSON 数据与目的地之间唯一的障碍时,这非常有用。它使用真正的构建器而非字符串拼接来生成 XML,因此嵌套、属性和格式都能正确输出。

此转换器可检测和处理的内容
  • 属性映射:带有 @_ 前缀的 JSON 键,例如 "@_id": "42",会成为所在元素的 XML 属性,而不是子元素
  • 由数组生成的重复元素:JSON 数组的值会变成一系列共享相同标签名(即该键名)的同级 XML 元素
  • 可配置的缩进:选择 2、4 或 8 个空格,或完全关闭格式化以生成紧凑的单行 XML
  • 空节点抑制:可选择将空元素折叠为自闭合标签,而不是写出空的起止标签对
  • 忽略属性模式:将每个键(包括带 @ 前缀的键)都当作普通子元素而非属性处理,适用于你只想要纯元素文档的情况
  • 完全在浏览器中运行:你的 JSON 数据永远不会上传到服务器
何时需要将 JSON 转换为 XML
  • 将数据发送给只接受 XML 请求的旧版 SOAP Web 服务或企业系统
  • 从你已经维护的 JSON 生成用于构建工具、CI 系统或 .NET/Java 应用程序的 XML 配置文件
  • 从文章或条目的 JSON 数组生成 RSS/Atom 格式的 XML 订阅源以供分发
  • 对已经从 XML 转换过来的数据进行往返处理——以 JSON 形式编辑,然后转换回期望原始格式的系统所需的 XML
  • 从手头已有的 JSON 负载生成用于 API 契约测试的 XML 测试夹具
如何将 JSON 转换为 XML
  1. 1.将包裹在单一根键中的 JSON 对象粘贴到输入编辑器,或上传 .json 文件
  2. 2.决定带 @ 前缀的键是否应映射为 XML 属性,或开启"忽略属性"使所有内容都以元素形式输出
  3. 3.选择缩进宽度,或关闭格式化以获得紧凑的输出
  4. 4.如果你希望空值使用自闭合标签,请启用空节点抑制
  5. 5.点击"转换",然后复制 XML 输出或下载为 .xml 文件
需要了解的边界情况
  • XML 要求只有一个根元素——如果 JSON 负载本身是一个裸数组,或是一个含有多个顶层键的对象,就会在根部产生多个同级元素,这不是合法的 XML;请先将数据包裹在一个根键中,例如 { "root": { ... } }
  • 没有直接 XML 对应形式的 JSON 值,例如 null 或混合了对象与基本类型的数组,会被字符串化,这可能与手写的 XML 文档看起来不同
  • 不是合法 XML 标签名称的键名——以数字开头,或包含空格、&、<、> 等字符——会产生无效的 XML,下游解析器可能会拒绝它
  • 布尔值和数字会以其字面文本形式写出,例如 true 或 42,不附带任何 XML Schema 类型注释——接收方系统必须已经知道每个元素代表的类型
限制
  • 此工具不会生成或校验 XSD 模式——输出的是格式良好的 XML,而不是保证符合特定系统模式的 XML
  • 没有内建方式在输出中声明 XML 命名空间(xmlns)——带命名空间的标签名必须已经作为带前缀的键存在于你的 JSON 中,例如 "env:Envelope"
  • 非常大的 JSON 数组在构建阶段可能超出浏览器内存——对于非常大的导出数据,请使用基于脚本的工具,例如直接基于 fast-xml-parser 构建的 Node.js 任务
需要反向转换吗?

如果你从 XML 出发——SOAP 响应、RSS 订阅源,或旧版配置文件——需要用于 JavaScript 或 Node.js 代码库的 JSON,请改用 XML 转 JSON 转换器。它会校验 XML、报告带行号的解析错误,并让你控制属性和命名空间如何映射到 JSON 中。