将XML转换为JSON(并返回)使用Javascript

你将如何从XML转换到JSON,然后回到XML?

以下工具工作得很好,但不完全一致:

  • xml2json
  • json2xml

有没有人遇到过这种情况?

我认为这是最好的: 在XML和JSON之间转换

请务必阅读xml.com O'Reilly网站上的随附文章 ,其中详细介绍了这些转换的问题,我认为您会发现它们很有启发性。 O'Reilly主持这篇文章的事实应该表明,Stefan的解决scheme有其优点。

https://github.com/abdmob/x2js – 我自己的图书馆(来自http://code.google.com/p/x2js/的更新url):;

这个库提供XML到JSON(JavaScript对象),反之亦然JavaScript转换function。 该库非常小,不需要任何其他库。

API函数

  • 新的X2JS() – 创build你的实例来访问所有的库function。 你也可以在这里指定可选的configuration选项
  • X2JS.xml2json – 将指定为DOM对象的XML转换为JSON
  • X2JS.json2xml – 将JSON转换为XML DOM对象
  • X2JS.xml_str2json – 将指定为string的XML转换为JSON
  • X2JS.json2xml_str – 将JSON转换为XMLstring

在线演示http://jsfiddle.net/abdmob/gkxucxrj/1/

var x2js = new X2JS(); function convertXml2JSon() { $("#jsonArea").val(JSON.stringify(x2js.xml_str2json($("#xmlArea").val()))); } function convertJSon2XML() { $("#xmlArea").val(x2js.json2xml_str($.parseJSON($("#jsonArea").val()))); } convertXml2JSon(); convertJSon2XML(); $("#convertToJsonBtn").click(convertXml2JSon); $("#convertToXmlBtn").click(convertJSon2XML); 

这些答案帮助我做了很多工作:

 function xml2json(xml) { try { var obj = {}; if (xml.children.length > 0) { for (var i = 0; i < xml.children.length; i++) { var item = xml.children.item(i); var nodeName = item.nodeName; if (typeof (obj[nodeName]) == "undefined") { obj[nodeName] = xml2json(item); } else { if (typeof (obj[nodeName].push) == "undefined") { var old = obj[nodeName]; obj[nodeName] = []; obj[nodeName].push(old); } obj[nodeName].push(xml2json(item)); } } } else { obj = xml.textContent; } return obj; } catch (e) { console.log(e.message); } } 

只要你通过一个jQuery的DOM / XML对象:对我来说是这样的:

 Jquery(this).find('content').eq(0)[0] 

其中内容是我存储我的XML的领域。

我个人会推荐这个工具 。 这是一个XML到JSON转换器。

这是非常轻量级的,在纯粹的JavaScript。 它不需要依赖关系。 您可以简单地将函数添加到您的代码中,并根据需要使用它。

它也考虑到XML属性。

 var xml = '<person id=”1234” age=”30”><name>John Doe</name></person>'; var json = xml2json(xml); console.log(json); // prints '{“person”: {“id”: “1234”, “age”: “30”, “name”: “John Doe”}}' 

这是一个在线演示 !

有一段时间,我为我的电视Watchlist应用程序写了这个工具https://bitbucket.org/surenrao/xml2json ,希望这也有帮助。

Synopsys:一个库不仅可以将xml转换为json,而且还可以很容易地进行debugging(无循环错误)并将json重新创build回xml。 特点: – parsingXML到JSON对象。 将json对象打印回xml。 可用于将IndexedDB中的xml保存为X2J对象。 打印json对象。

使用服务器端作为客户端的最好方法在所有情况下都不能正常工作。 我试图build立在线JSON到XML和XML使用JavaScript的JSON转换器,我觉​​得几乎是不可能的,因为它不是在所有情况下工作。 最终我在ASP.MVC中使用Newtonsoft做了服务器端。 这里是在线转换器http://techfunda.com/Tools/XmlToJson