Development/C#
[C#] Json.NET 으로 XML을 Json으로 Serialize하는 방법
아빠는개발자
2023. 3. 24. 14:38
요즘 서로다른 앱 혹은 서비스간 메세지를 주고받을때 복잡한 구조의 데이터는 대부분 JSON으로 변환해서 주로 주고 받습니다. 물론, XML을 사용하는 곳도 아직은 많을겁니다. 그래서 이 XML로 전달받은 데이터를 JSON으로 그대로 직렬화 해서 보관하거나 다른 노드로 전송해야하는 경우들이 있습니다.
이런 경우 Json.NET을 사용하면 아주 간단하게 method 호출만으로 직렬화 할 수 있습니다.
string xml = @"<?xml version='1.0' standalone='no'?>
<root>
<person id='1'>
<name>Alan</name>
<url>http://www.google.com</url>
</person>
<person id='2'>
<name>Louis</name>
<url>http://www.yahoo.com</url>
</person>
</root>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
string json = JsonConvert.SerializeXmlNode(doc);
Console.WriteLine(json);
// {
// "?xml": {
// "@version": "1.0",
// "@standalone": "no"
// },
// "root": {
// "person": [
// {
// "@id": "1",
// "name": "Alan",
// "url": "http://www.google.com"
// },
// {
// "@id": "2",
// "name": "Louis",
// "url": "http://www.yahoo.com"
// }
// ]
// }
// }
원문: https://www.newtonsoft.com/json/help/html/ConvertXmlToJson.htm