免费转换器

JSON to XML Converter

Convert JSON to XML instantly. Supports custom root tags and indentation for clean, structured output.

关于此工具

将 JSON 转换为 XML 与更常见的 XML 到 JSON 方向相反。这种转换本质上很简单 - 将每个 JSON 对象转换为 XML 元素,将每个键转换为子标签,将每个值转换为元素的文本 - 但 XML 强加了 JSON 所没有的结构规则。带有特殊字符的键不能成为元素名称;数组需要一致的表示;作为对象的值需要它们自己的嵌套结构。

该转换器使用的约定接近大多数 XML 到 JSON 工具所遵循的约定:以 @ 为前缀的键成为父元素上的属性;名为#text 的键提供元素的文本内容;数组会产生具有相同名称的重复元素。如果您最初从 XML 生成 JSON,则遵循此约定可保持往返一致。

输出 XML 的构造格式良好:每个元素都正确闭合,属性值经过引号转义,文本内容针对 XML 特殊字符(&、<、>)进行转义。结果可以在任何 XML 解析器、验证器或使用 XML 的工具中清晰地打开。

为什么将 JSON 转换为 XML

许多已建立的系统仍然期望 XML,即使它们的输入来自现代 JSON 生成管道。 SOAP 服务、企业集成、RSS 发布者、政府数据提交和大量遗留软件接受 XML 并拒绝 JSON。这种转变将现代生产者与传统消费者联系起来。

XML 还支持 JSON 本身不具备的功能 — 命名空间、模式 (XSD)、处理指令和形式验证的强大传统。对于这些功能很重要的系统(XML 签名、形式验证的数据交换、复杂的模式约束),生成 XML 输出仍然是正确的选择。

使用方法

粘贴 JSON,获取 XML。

  1. 添加您的 JSON: 将 JSON 文本粘贴到输入区域或放置文件。 JSON 必须有效;格式错误的输入会产生错误。
  2. 选择根元素名称: 如果您的 JSON 有一个顶级对象,它的键会自动成为根元素。对于顶级数组或基元,显式指定根名称。
  3. 转换: 转换器遍历 JSON 树,将键映射到元素名称,将 @ 前缀键映射到属性,将 #text 映射到文本内容。数组会产生重复的同级元素。
  4. 下载或复制: 另存为 .xml 或复制。输出是格式良好的 XML,可供任何 XML 使用者使用。

常见用例

技术细节

转换器递归地遍历 JSON 值。对象变成元素;对于对象中的每个键,@ 前缀表示该键将转换为父元素上的属性,#text 提供元素的文本内容,普通键将成为子元素,其值会递归到相同的转换中。

数组被转换为重复的同级元素。 JSON 中键项下的数组在父项中为每个数组项生成一个 <items> 元素。这与 XML 到 JSON 转换器表示多元素集合的方式相匹配。

XML 中无效的元素名称(包含空格、特殊字符或以数字开头)将被清理:空格变为下划线,无效字符被删除,并且以数字开头的名称带有前缀。属性和文本值经过 XML 转义(& 变为 &amp;、< 变为 < 等),以保持输出格式正确。

最佳实践

常见问题

将 JSON 转换为 XML 会改变内容吗?
尽可能准确地保留内容。但是,某些特定于格式的功能可能没有直接等效项,因此可能会出现细微的格式差异。
XML 格式有什么用?
XML(可扩展标记语言)主要用于具有自定义模式、SOAP API、RSS 提要的结构化数据。
转换器是否可以处理嵌套或复杂的 JSON 结构?
是的。该工具可以正确解析嵌套对象、数组和所有标准 JSON 数据类型,从而在 XML 输出中保留完整的数据结构。
此转换安全且私密吗?
是的。所有处理都在您的浏览器本地进行。您的数据永远不会离开您的设备 - 没有服务器上传,没有云处理,没有数据收集。
输出的结果会漂亮吗?
默认情况下是的 - 元素缩进以提高可读性。如果您需要紧凑的输出进行传输,请禁用缩进。
我的数据是否上传到服务器?
不会。转换在您的浏览器中运行。
我可以在 JSON 和 XML 之间往返吗?
是的,当两个方向使用相同的约定时。 JSON → XML → JSON 通常会重现原始内容;相反,要求 JSON 在转换为 XML 之前采用 @attr/#text 形式。
JSON 空值怎么样?
Null 值成为空元素 (<key/>)。有些消费者可能更喜欢完全省略该元素;如果需要,预处理 JSON 以删除空键。