onlinetools.dev

XML ↔ JSON 转换

XML 与 JSON 双向互转,属性也不丢失

本地运行
loading…
关于此工具

把 XML 转成 JSON,好把老式 SOAP 响应、RSS 源或 Maven POM 喂给 JavaScript、jq 或 JSON 原生的 API——也可以反向从 JSON 数据生成 XML。属性会被保留:它们变成 "@_name" 键,与属性并存的文本内容落在 "#text" 下,不会有信息悄悄消失。

这两种格式在根本问题上互不相让,转换器做了业界标准的务实取舍:同名兄弟元素折叠成 JSON 数组,长得像数字的值变成数字,命名空间作为元素名的一部分随行。对典型文档,XML → JSON → XML 的往返能保留结构与内容。

两个方向都在你的浏览器本地运行。发票数据或 API 响应尽管粘贴,它们哪儿也不会去。

常见问题

为什么有些值变成了数字而不是字符串?
解析器会识别数字文本并转换,这符合大多数消费方的期望。当心带前导零的标识符(商品编码、电话号码)——如果这对你的数据很重要,转换后手动加引号,或把输出当作起点来修订。
重复元素怎么处理?
两个及以上同名兄弟元素会合并为该键下的 JSON 数组,只出现一次时保持普通对象——这种不对称是映射本身固有的,消费 JSON 的代码要么兼容两种形状,要么先做归一化。
@_ 和 #text 键是什么意思?
@_ 标记原来的 XML 属性,#text 承载与属性并存时的元素文本。把同样的约定喂回 JSON → XML 方向,就能重建原始标记。
为什么 JSON → XML 拒绝我的顶层数组?
XML 文档必须恰好有一个根元素,而裸数组没有。把数组包进对象——{"items": {"item": [...]}}——转换器就能产出格式良好的文档。
相关工具