반응형

newtonsoft 3

[C#] Newtonsoft JsonConverter 사용하기

C# 개발자에겐 거의 필수적으로 사용되는 Newtonsoft.json은 Json data를 직렬화 및 역직렬화를 제공하는 강력한 오픈 소스다. 이번은 JsonConverter에 대해 설명을 해보고자 한다. 직렬화와 역직렬화를 사용할 때, 받은 데이터를 혹은 내보내는 데이터를 다른 형태로 바꿀 일이 종종 생긴다. 그럼 굳이 받은 데이터를 하나하나 얻어서 새로운 객체를 만드는 코드를 집어 넣지 않고, 아래와 같이 JsonConverter를 사용하여 바로 처리 가능하다. [JsonConverter(typeof(TestConverter))] public class ClassA { public double A1 { get; set; } public double A2 { get; set; } public doubl..

프로그래밍/C# 2022.03.30

[C#] Newtonsoft Json 상속 대상까지 Serialize하기

다음과 같은 구조가 있다고 해보자. public class Box { public double Length { get; set; } public double Width { get; set; } public double Height { get; set; } } public class Carton : Box { public int Index { get; set; } } Carton은 Box를 상속 받는다. 이러한 객체의 값을 Serialize하게 되면 아래와 같은 형태로 나온다. { "Index": 1, "Length": 800.0, "Width": 600.0, "Height": 1400.0 } 위의 Json 정보만으로는 이것이 Carton인지 다른 어떤 객체인지 확인이 불가능하다. var settings ..

프로그래밍/C# 2022.01.18

[C#] Newtonsoft private set 값 DeserialzeObject 방법

Class나 struct의 Property를 private set으로 설정한 뒤 DeserialzeObject를 수행하게 되면 제대로 값을 가져오지 못한다. 이것은 해당 Property가 Json Property라고 인식을 못해서 생기는 문제이다. 아래와 같은 방법으로 간단히 해결가능하다. public class Box { [JsonProperty] public double Length { get; private set; } [JsonProperty] public double Width { get; private set; } [JsonProperty] public double Height { get; private set; } } 해당 프로퍼티를 Json property라고 설정을 해두면 처리 완료!

프로그래밍/C# 2022.01.18
반응형