1. 程式人生 > >js實現json和xml之互轉

js實現json和xml之互轉

在web工程裡面,可能需要經常使用到xml和web的互轉功能,

在這裡,使用萬惡的百度之後,發現用java實現效率和效果很差,json轉成xml會出現一些類的頭,比如<o>,<array>這類的,找了很多方法都沒有能夠消除

鑑於js對json的良好支援,所以我們在前端使用js進行轉化,傳送到conroller

在這裡,簡單說下找到這個方法的“心路歷程”,真是累,不過解決完以後還是很開心的

1.首先第一步,我在http://www.bejson.com/xml2json/ 網站上進行了json和xml的互轉測試,發現很好用,於是,通過firebug檢視到了,呼叫轉化的js程式碼,如下圖


可以發現主要 使用的是下面三行程式碼實現的

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()的官網 官網地址


這裡我下載了整個壓縮包,其實只需要下載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格式啦,其他的方法可以自己檢視官網 官網地址
有什麼問題,歡迎和我交流