Tool (javascript) to convert XML string to JSON

What is the best javascript / plugin / library function to convert an XML string to JSON.

I found this tool: http://www.thomasfrank.se/xml_to_json.html , but it does not like lines starting with 0 . i.e.: 005321 converts to 2769 (not cool :()

My question is, what is the best javascript / plugin / library function for converting XML to JSON?

EDIT: Has anyone tried working that works great?

+4
source share
3 answers

This function did a great job with me:

 xmlToJson = function(xml) { var obj = {}; if (xml.nodeType == 1) { if (xml.attributes.length > 0) { obj["@attributes"] = {}; for (var j = 0; j < xml.attributes.length; j++) { var attribute = xml.attributes.item(j); obj["@attributes"][attribute.nodeName] = attribute.nodeValue; } } } else if (xml.nodeType == 3) { obj = xml.nodeValue; } if (xml.hasChildNodes()) { for (var i = 0; i < xml.childNodes.length; i++) { var item = xml.childNodes.item(i); var nodeName = item.nodeName; if (typeof (obj[nodeName]) == "undefined") { obj[nodeName] = xmlToJson(item); } else { if (typeof (obj[nodeName].push) == "undefined") { var old = obj[nodeName]; obj[nodeName] = []; obj[nodeName].push(old); } obj[nodeName].push(xmlToJson(item)); } } } return obj; } 

Implementation:

 var jsonText = JSON.stringify(xmlToJson(xmlDoc)); // xmlDoc = xml dom document 
+16
source

Another small library for XML <=> JSON https://github.com/abdmob/x2js

+6
source

If you want to use jQuery, there are:

http://www.fyneworks.com/jquery/xml-to-json/

 $.get("http://jfcoder.com/test.xml.php", function(xml){ var json = $.xml2json(xml); $('pre').html(JSON.stringify(json)); // To show result in the browser }); 

Using:

 <nums> <num>00597</num> <num>0059</num> <num>5978</num> <num>5.978</num> </nums> 

Outputs:

 {"num":["00597","0059","5978","5.978"]} 

http://jfcoder.com/test.php

+1
source

All Articles