요즘 서로다른 앱 혹은 서비스간 메세지를 주고받을때 복잡한 구조의 데이터는 대부분 JSON으로 변환해서 주로 주고 받습니다. 물론, XML을 사용하는 곳도 아직은 많을겁니다. 그래서 이 XML로 전달받은 데이터를 JSON으로 그대로 직렬화 해서 보관하거나 다른 노드로 전송해야하는 경우들이 있습니다. 이런 경우 Json.NET을 사용하면 아주 간단하게 method 호출만으로 직렬화 할 수 있습니다. string xml = @" Alan http://www.google.com Louis http://www.yahoo.com "; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string json = JsonConvert.SerializeXmlNode(doc..
보통 JSON Serialization 후 텍스트 파일 형태로 저장하거나 DB에 저장하거나 하는데, enum 값이 숫자 형태로 저장되어서 JSON 문자열을 열어볼 때 readbility가 떨어집니다. 그래서 enum 타입 변수의 값이 문자열 형태로 저장 하는 경우가 많은데요, 그럴 때 아래와 같이 attribute를 특정 멤버 변수에 선언해주면 됩니다. using Newtonsoft.Json; using Newtonsoft.Json.Converters; public enum CompanyType { Apple, Samsung, } public class Company { [JsonConverter(typeof(StringEnumConverter))] public CompanyType CompanyType..
C#에서 JSON을 Deserialize 하기위해 클래스들을 직접 만들어야 할 때가 있는데요, 아래 사이트에 들어가면 온라인상에서 JSON string을 C# 클래스들로 자동 생성할 수 있습니다. 자동 생성 후 클래스 이름과 타입만 적절하게 수정해서 사용 하면 클래스들을 직접 하나 하나 작성하는것보다 훨씬 편합니다. https://json2sharp.vercel.app/ JSON to CSharp JSON to CSharp Generate C# code from JSON string Generate C# code json2sharp.vercel.app 좌측 텍스트 박스에 JSON 문자열을 붙여넣기 후 "Generate C# code" 버튼을 클릭하면 C# 클래스들을 자동으로 생성 해줍니다.