본문 바로가기

프로그래밍/C#

[C#] JSON 문자열 XML로 파싱 (json to xml)

반응형

JSON 문자열 데이터를 받아서 XML형태로 변환해보자




{"a":"17","b":"T9KE2","c":"2017-04-25 18:16:30"},{"a":"16","b":"T34E2","c":"2017-04-25 18:16:30"}



위와 같은 JSON 데이터를 아래와 같은 XML형태로 변환해보자



<root>

<DATA>

<a>17</a>

<b>T9KE2</b>

<c>2017-04-25 18:16:30</c>

</DATA>

<DATA>

<a>16</a>

<b>T34E2</b>

<c>2017-04-25 18:16:30</c>

</DATA>

</root>




public string RegHis(string strData)
{
    string result = "N";
 
    try
    {
        // json 파싱
        string strData = string.Format("{{ DATA: {0}}}", strReqData);
        JObject obj = new JObject(JObject.Parse(strData));
 
        // xml 파싱
        XmlDocument doc = JsonConvert.DeserializeXmlNode(obj.ToString(), "root");
 
        return doc.InnerXml;
    }
    catch (Exception)
    {
        return result;
    }
}

Line 8 : 먼저 json문자열 데이터 strReqData의 데이터 포맷을 변경해준다. 즉, DATA라는 문자열로 감싸준다.

Line 9 : json 오브젝트로 변환해준다.

Line 12 : json오브젝트를 xml타입으로 변환해준다. root는 최상위 요소명을 설정 (전체 데이터를 감싸줌) 최상위 요소가 필요없을 경우 생략 가능




크롬 앱 ARC를 이용해서 데이터를 확인해보자

 





[참고]

XML 데이터를 JSON으로 변환하는 방법은 아래의 글을 참고하세요

http://ggmouse.tistory.com/207





반응형