平时做开发或者处理数据时,经常会遇到XML格式的数据,比如从接口返回的响应、配置文件,甚至是老系统导出的数据。但现在很多前端框架和现代API都更喜欢用JSON,这时候就得把XML转成JSON。那XML怎么转换成JSON呢?其实方法挺多,不用写代码也能搞定。
在线转换工具最省事
如果你只是偶尔转换一次,不想折腾环境,直接用在线工具最快。像「Beautify Tools」、「CodeBeautify」这些网站,打开页面,把XML内容粘进去,点一下转换,几秒钟就出JSON结果。还能自动格式化,看着清楚。
举个例子,你收到一段这样的XML:
<user>
<name>张三</name>
<age>28</age>
<city>杭州</city>
</user>
扔进工具里一转,立马变成:
{
"user": {
"name": "张三",
"age": "28",
"city": "杭州"
}
}
复制出来就能直接用,特别适合临时处理数据、调试接口的时候。
编程语言内置方案也方便
要是你是开发者,经常要处理这类转换,可以用代码来自动化。Python有个叫xmltodict的库,装上之后几行代码就能搞定:
import xmltodict
import json
with open('data.xml') as f:
xml_content = f.read()
data = xmltodict.parse(xml_content)
json_data = json.dumps(data, indent=2, ensure_ascii=False)
print(json_data)
Node.js也有现成的包,比如xml2js,npm装一下,require进来,parse一下就完事。适合写脚本批量处理。
桌面软件适合长期使用
有些公司内部系统导出的数据全是XML,每个月都要转一次。这种重复性工作,可以试试桌面软件,比如「Notepad++」配合插件,或者专门的数据转换工具「Altova MissionKit」。虽然要花点钱,但功能强,支持批量、校验、映射规则,适合技术团队用。
我自己之前在做报表迁移时,就是用Notepad++先预览XML结构,再用在线工具快速转成JSON,贴到前端项目里跑通逻辑。整个过程不到十分钟,比手动改快多了。
注意事项别忽略
转换时要注意空值和属性的处理。比如XML里有个<item type="book">,转成JSON后,type可能变成对象里的一个字段,但不同工具处理方式不一样,有的加@前缀,有的直接平铺。如果数据结构复杂,最好先小范围试一下,确认格式对不对。
还有就是编码问题,特别是中文内容,记得保存文件时选UTF-8,避免乱码。