XML ↔ JSON 转换器

关于 XML 与 JSON

XML (可扩展标记语言) 和 JSON (JavaScript 对象表示法) 是互联网上最常用的两种数据交换格式。虽然它们用途相似,但各有优劣。

XML Extensible Markup Language

  • • 类似于 HTML 的标签结构
  • • 支持属性 (Attributes) 和命名空间
  • • 结构严谨,适合复杂文档
  • • 冗余较多,文件体积通常较大

JSON JavaScript Object Notation

  • • 键值对结构 (Key-Value)
  • • 原生支持数组和对象
  • • 语法简洁,解析速度快
  • • 现代 Web API 的首选格式

常见使用场景

常见问题

转换是完全无损的吗?
大部分情况下是,但 XML 的一些特性(如属性、混合内容、CDATA)在 JSON 中没有直接对应物,因此转换器通常会使用特定约定(如使用 "@_" 前缀表示属性)来保留信息。
如何处理 XML 属性?
本工具将 XML 属性转换为以 "@_" 开头的 JSON 键。例如 `<item id="1">` 会转换为 `{"item": {"@_id": "1"}}`。这确保了数据不会丢失。
我的数据会上传到服务器吗?
绝对不会。所有转换都在您的浏览器本地完成(Client-side),您的数据不会离开您的设备,非常安全。
JSON 转 XML 时,根节点怎么处理?
XML 必须有一个唯一的根节点。如果您的 JSON 是一个数组或包含多个顶级键,工具会自动将其包裹在 `<root>` 标签中以生成有效的 XML。
支持大型文件吗?
支持,但受限于浏览器性能。对于几 MB 大小的文本文件通常响应迅速,超过 50MB 可能会导致页面卡顿。建议分块处理超大文件。
支持 JSON 数组吗?
支持。JSON 数组通常会转换为重复的 XML 标签。例如 `{"users": ["A", "B"]}` 可能转换为 `<users>A</users><users>B</users>` 或根据解析规则处理。
能压缩 XML 或 JSON 吗?
可以。虽然转换后的默认结果是格式化(美化)过的,但您可以手动移除空格来实现压缩,或者我们将考虑由于功能更新添加一键压缩按钮。
为什么有时候 XML 转 JSON 只有一个 "@_"?
这通常是因为 XML 节点只有属性而没有文本内容。我们的算法会忠实反映 XML 的结构。

更多免费实用工具