XML 转 JSON
XML 转 JSON 工具,粘贴 XML 即时转换成 JSON 对象。标签属性默认保留为 @_ 前缀字段,文本内容和属性共存时用 #text 键,也可以选择忽略属性。解析前先做 XML 合法性校验,错误定位到行列,整个过程在本地完成。
在工作台中打开 本地处理 · 数据不上传
怎么使用
- 1
粘贴 XML
粘贴带或不带 <?xml?> 声明的 XML 文本,重复标签、属性、自闭合标签均支持。
- 2
选择是否保留属性
默认保留属性为 @_ 前缀字段;不需要时勾选「忽略 XML 属性」即可重转。
- 3
复制 JSON
选择缩进后复制标准 JSON,或点「⇄」把结果送回 JSON 转 XML。
功能特点
属性完整保留
<a id="7"> 转为 {"a":{"@_id":"7"}},属性信息不丢失,可按需关闭。
重复标签自动数组化
同名标签出现多次时自动合并为数组,单次出现保持对象,结构贴近直觉。
严格校验先行
转换前先校验标签闭合等语法,<a> 对不上 </b> 时给出行列位置。
实体自动解码
&、<、>、" 等实体引用自动还原为原字符。
常见错误与排查
- ! 标签必须正确闭合;错误信息中的行列号指向第一个不匹配的闭合标签。
- ! 元素同时有属性和文本内容时,文本放在 #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 风格再转换。