XML转JSON

用 xml-js 的 compact 模式把 XML 转成 JSON,输出缩进 2 个空格。属性统一放在 _attributes 里、文本放在 _text 里,CDATA 放在 _cdata 里。适合把接口返回的 XML 报文快速转成能在 JS 里处理的结构,或者单纯看清嵌套关系。

工具界面在页面加载完成后显示在本段下方,可以直接使用。所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

XML转JSON能做什么

用 xml-js 的 compact 模式把 XML 转成 JSON,输出缩进 2 个空格。属性统一放在 _attributes 里、文本放在 _text 里,CDATA 放在 _cdata 里。适合把接口返回的 XML 报文快速转成能在 JS 里处理的结构,或者单纯看清嵌套关系。

怎么用XML转JSON

  1. 在左侧输入框粘贴 XML,默认示例是 <a x="1.234" y="It's"/>
  2. 右侧输出框实时显示转换后的 JSON
  3. 确认结构无误后点复制按钮取走,或下载文件
  4. XML 不合法时输入框会提示「XML 无效」,输出框同时为空

示例

输入:

<a x="1.234" y="It's"/>

输出:

{
  "a": {
    "_attributes": {
      "x": "1.234",
      "y": "It's"
    }
  }
}

属性全部进 _attributes,数值 1.234 仍保持字符串

使用技巧与注意点

常见问题

为什么有的节点是对象、有的是数组?

compact 模式下单个同名元素是对象,多个才是数组。这是 xml-js 的固定行为,页面没有提供「强制数组」的开关,只能在你的代码里做兼容处理。

能把 JSON 转回 XML 吗?

不能,这个页面只有 XML → JSON 单向转换。需要反向转换请找专门的 JSON 转 XML 工具。

命名空间前缀会怎么处理?

前缀会原样保留在键名里,比如 <ns:item> 转出来的键就是 "ns:item",不会自动解析成命名空间 URI + 本地名。

XML 报文会上传吗?

不会。xml-js 在浏览器里解析,报文内容不发送到服务器,也不保存。

相关工具

同类XML 工具

查看全部XML 工具