요즘 서로다른 앱 혹은 서비스간 메세지를 주고받을때 복잡한 구조의 데이터는 대부분 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
'Development > C#' 카테고리의 다른 글
[.NET] WixSharp으로 MSI Installer 만들기 (3) | 2023.08.11 |
---|---|
[C#] C# 버전 10에서 Lambda expression 개선 사항 (0) | 2023.03.03 |
[C#] Jupyter Notebook에서 C# 사용하기 (1) | 2023.02.27 |
[C#] HMACSHA256 클래스를 이용해서 사용자 비밀번호를 암호화하기 (0) | 2023.02.15 |
[C#] Project publish할 때 "Could not find a part of the path..." 오류가 발생할 경우 (0) | 2023.02.12 |