XML 转 JSON 转换器
将 XML 转换为 JSON:属性保留在前缀下,重复元素变为数组,可选解析数字/布尔值,并给出清晰的语法错误。免费,在浏览器内运行。
完全在浏览器中运行,您的数据不会被上传。
相关工具
查看全部什么是 XML 转 JSON?
粘贴 XML,即可得到等价的 JSON 对象。元素名称变为键,重复元素变为数组,属性按可配置的前缀保留,混合文本存放在 #text 下。无效的 XML 会连同行号和列号一起报告。
如何使用 XML 转 JSON
- 将 XML 粘贴到 XML 输入框中,或使用加载示例或打开文件。
- 按需调整属性键前缀、忽略属性、转换数字和布尔值以及元素始终使用数组。
- 选择 JSON 的缩进。
- JSON 输出会随你的输入实时更新;可使用复制或下载。
示例
输入
<book id="7"><title>Dune</title><price>9.5</price></book>
输出
{
"book": {
"title": "Dune",
"price": 9.5,
"@_id": 7
}
} 何时使用 XML 转 JSON
适合查看 XML 数据(订阅源、SOAP 响应、配置文件)或将其迁移到基于 JSON 的工具中。注释、命名空间声明以及元素相对于文本的顺序不会被精确保留,因此不适合对 XHTML 这类文档做往返转换。
XML 转 JSON 的工作原理
文档会先用 fast-xml-parser 的 XMLValidator 验证,它会报告第一个语法错误及其位置。然后用 XMLParser 解析:XML 声明和处理指令会被丢弃,值会被去除首尾空白,并且在开启类型转换时,9.5 或 true 这样的数字和布尔文本会变成 JSON 数字或布尔值。启用元素始终使用数组后,每个元素都会被包装为数组,因此无论出现多少个子元素,结构都保持稳定。
常见用例
- 把 SOAP 或 RSS 响应作为 JSON 来查看
- 把 XML 配置迁移为 JSON 格式
- 把导出的 XML 加载到 JavaScript 代码中
- 通过转换为 JSON 来比较两个 XML 文档
常见问题
为什么单个元素是对象,而两个元素就是数组?
默认情况下,解析器只在元素重复时才创建数组。启用元素始终使用数组可得到可预测的结构。
为什么“007”变成了 7?
类型转换会把数字文本变成数字。关闭转换数字和布尔值即可让所有值保持为字符串。
属性放在哪里?
它们以前缀存放在元素的对象上,例如 "@_id": 7。启用忽略属性可将其丢弃。
推荐的下一步
JSON 格式化
在线格式化并美化 JSON,支持 2 空格、4 空格或制表符缩进,可按字母排序键,语法错误会精确提示行号和列号。完全在浏览器中运行。
SQL 格式化
为 MySQL、PostgreSQL、SQL Server、Oracle、BigQuery 等 16 种方言格式化 SQL 查询,可选关键字大小写和缩进。在浏览器中运行。
代码美化
在浏览器中一站式美化 14 种语言的代码,涵盖前端脚本、样式表、标记语言、数据格式、查询语言以及 PHP 和 Python,选择语言和缩进即可。
转义/反转义工具
一个工具搞定字符串转义与反转义:支持 JSON、JavaScript、HTML、XML、URL 组件、正则表达式、SQL 字面量、CSS 字符串和 Shell 参数。
虚拟数据生成器
生成逼真的虚拟测试数据:姓名、邮箱、电话、地址、公司和出生日期,支持 8 种区域。可导出 JSON、CSV 或 SQL INSERT,并可用种子重复生成。
JSON 压缩
移除 JSON 中所有无意义的空白,同时保持值、键顺序和大数字不变,并显示节省的体积。免费且在浏览器内运行。