[Javascript] XML <-> JSON

개발 노트 2009. 8. 1. 22:10 posted by 무병장수권력자


작성자 : 김문규
최초 작성일 : 2009. 8. 1

다들 아시다시피 XML, JSON 모두 데이터(정보) 표현 방식입니다. 상황에 따라 이 둘간의 적절한 변경이 필요할 때가 있지요.

자바스크립트를 이용해서 둘 간의 포맷을 변환하는 아주 유명한 라이브러리 입니다.
참고로 원작자는 Stefan Goessner입니다. 감사히 잘 사용하시길~~

첨부한 두 js를 include 하시고서 아래의 코드를 여러분의 모듈에 삽입하시길 바랍니다.


그리고는 conv2json(_xml)를 호출하시면 xml을 json으로 변환하게 됩니다.

그 반대는 저의 경우에 필요가 없어서 아직 사용을 안해봤어요~ 아시는 분은 댓글로 남겨주세요 ^^



function parseXml(xml) {
 var dom = null;
 if (window.DOMParser) {
  try
  {
   dom = (new DOMParser()).parseFromString(xml, "text/xml");
  }
  catch (e)
  {
   dom = null;
  }
 }
 else if (window.ActiveXObject) {
  try
  {
   dom = new ActiveXObject('Microsoft.XMLDOM');
   dom.async = false;
   if (!dom.loadXML(xml)) // parse error ..
   {
   //window.alert(dom.parseError.reason + dom.parseError.srcText);
   }
  }
  catch (e)
  {
   dom = null;
  }
 }
 else
 {
  //alert("cannot parse xml string!");
 }
 return dom;
}
function conv2json(_xml)
{
 var dom = parseXml(xml);
 var jsonStr = xml2json(dom);
 var jsonObj = eval( "(" + jsonStr + ")" );
 return jsonObj;
}