XML 转 JSON

XML 转 JSON 工具,粘贴 XML 即时转换成 JSON 对象。标签属性默认保留为 @_ 前缀字段,文本内容和属性共存时用 #text 键,也可以选择忽略属性。解析前先做 XML 合法性校验,错误定位到行列,整个过程在本地完成。

在工作台中打开 本地处理 · 数据不上传

怎么使用

  1. 1

    粘贴 XML

    粘贴带或不带 <?xml?> 声明的 XML 文本,重复标签、属性、自闭合标签均支持。

  2. 2

    选择是否保留属性

    默认保留属性为 @_ 前缀字段;不需要时勾选「忽略 XML 属性」即可重转。

  3. 3

    复制 JSON

    选择缩进后复制标准 JSON,或点「⇄」把结果送回 JSON 转 XML。

功能特点

属性完整保留

<a id="7"> 转为 {"a":{"@_id":"7"}},属性信息不丢失,可按需关闭。

重复标签自动数组化

同名标签出现多次时自动合并为数组,单次出现保持对象,结构贴近直觉。

严格校验先行

转换前先校验标签闭合等语法,<a> 对不上 </b> 时给出行列位置。

实体自动解码

&amp;、&lt;、&gt;、&quot; 等实体引用自动还原为原字符。

常见错误与排查

  • ! 标签必须正确闭合;错误信息中的行列号指向第一个不匹配的闭合标签。
  • ! 元素同时有属性和文本内容时,文本放在 #text 键中,例如 {"a":{"@_id":"7","#text":"hi"}}。
  • ! 自闭合标签 <x/> 与空标签 <x></x> 会得到空字符串,XML 无法表达 null。

常见问题

XML 标签属性转到哪里去了?

默认保留为 @_ 前缀的键(属性 id 变成 @_id),与子元素区分。如果只关心标签内容,勾选「忽略 XML 属性」即可得到纯净结构。

为什么有的标签变成数组、有的是对象?

同一父级下同名标签出现两次及以上时自动合并为数组,只出现一次时为对象。这与绝大多数 XML 数据绑定工具的惯例一致。

支持 SOAP / SVG / HTML 吗?

适用于结构良好的 XML(含 SOAP 报文、SVG)。HTML 不是严格 XML(存在大量非闭合标签),请先整理为 XHTML 风格再转换。

相关工具