[置顶] js实现json和xml之互转

时间:2022-01-06 19:04:44

在web工程里面,可能需要经常使用到xml和web的互转功能,

在这里,使用万恶的百度之后,发现用java实现效率和效果很差,json转成xml会出现一些类的头,比如<o>,<array>这类的,找了很多方法都没有能够消除

鉴于js对json的良好支持,所以我们在前端使用js进行转化,发送到conroller


在这里,简单说下找到这个方法的“心路历程”,真是累,不过解决完以后还是很开心的


1.首先第一步,我在http://www.bejson.com/xml2json/ 网站上进行了json和xml的互转测试,发现很好用,于是,通过firebug查看到了,调用转化的js代码,如下图

[置顶]        js实现json和xml之互转

可以发现主要 使用的是下面三行代码实现的

var xotree = new XML.ObjTree();
var json = eval("(" + $("#json").val() + ")");
$("#xml").val(formatXml(xotree.writeXML(json)));

那么问题来了,

<span style="color:#FF0000;"> XML.ObjTree()</span>
是什么东西?

这里问度娘,可以发现XML.ObjTree()的官网 官网地址

[置顶]        js实现json和xml之互转

这里我下载了整个压缩包,其实只需要下载ObjTree.js 文件即可,下载后解压到工程中,并引用

<head>
<script src="lib/XML/ObjTree.js"></script>
</head>
后面按照官方文档的介绍使用就可以啦

这里简单介绍下json转xml的方法

var xotree = new XML.ObjTree();
var json = eval("(" + bodyJsonString + ")");
var xmlString =xotree.writeXML(json);

这样就可以完美的将json转成xml格式啦,其他的方法可以自己查看官网 官网地址
有什么问题,欢迎和我交流