XML 格式化与转 JSON - 美化、压缩、结构校验

在线美化或压缩 XML,并转成 JSON(保留属性),同时给出标签配对校验与元素计数,内容不上传服务器。

XML 格式化与转 JSON - 美化、压缩、结构校验是什么

XML 动辄几百行,没缩进根本读不下去。这个工具做三件事:把挤成一行的 XML 展开、把带大量空白的 XML 压回一行、以及转成 JSON 便于程序处理,属性完整保留。

所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

怎么用XML 格式化与转 JSON - 美化、压缩、结构校验

  1. 粘贴 XML,上方立刻显示「标签配对正常」或「标签有错配」,这是最快的良构检查
  2. 格式化:设缩进宽度(一般 2),或者勾「压缩为一行」减小体积
  3. 切到「转 JSON」:元素名是键,属性在 _attributes 下,文本在 _text 下

示例

输入

<catalog><book id="1"><title>工具箱</title></book></catalog>

输出

{"catalog":{"book":{"_attributes":{"id":"1"},"title":{"_text":"工具箱"}}}}

属性进 _attributes,文本进 _text。

常见问题

为什么转出来的 JSON 多了一层 _text?

因为该元素同时有属性和文本。XML 允许 <a id="1">文字</a>,JSON 里必须把属性和文本分开放,否则会互相覆盖。

双向转换能还原吗?

不能保证。XML 有属性、命名空间、混合内容,转成 JSON 一定有信息变形,这也是两种格式本质不同导致的。

小提示

  • 格式化走「解析 → 重新序列化」而不是正则替换缩进,后者会把 pre 里的空白和 CDATA 内容一起改坏
  • 属性单独放在 _attributes,是为了避开「属性名恰好等于子元素名」的冲突
  • 标签配对检查只做结构层面:不校验 DTD、不检查元素名合法性,只回答尖括号有没有配对

同类数据处理工具