Json.Net Private Setter 처리
Json.Net에는 역직렬화 중에 개인 Setter를 처리하기 위한 기본 동작이 내장되어 있지 않습니다. 그러나 속성을 사용하여 이 동작을 명시적으로 지정하는 방법을 제공합니다.
[JsonProperty] 속성
[JsonProperty] 속성을 사용하여 Json.Net에 지시할 수 있습니다. 역직렬화할 때 읽기 전용 속성을 개인 설정자로 채웁니다. 이 속성을 읽기 전용 속성에 추가하면 역직렬화 중에 설정할 수 있습니다.
예:
[JsonProperty] public Guid? ClientId { get; private set; }
대체 솔루션: 매개변수가 있는 생성자
개인 설정자를 처리하는 또 다른 접근 방식은 설정하려는 속성과 일치하는 매개 변수가 있는 생성자를 제공하는 것입니다. 이 생성자는 JSON 개체를 역직렬화할 때 사용됩니다.
예:
public class Foo { public string Bar { get; } public Foo(string bar) { Bar = bar; } }
이 방법으로 JSON 문자열을 다음과 같이 역직렬화할 수 있습니다.
string json = "{ \"bar\": \"Stack Overflow\" }"; var deserialized = JsonConvert.DeserializeObject<Foo>(json); Console.WriteLine(deserialized.Bar); // Stack Overflow
사용할 솔루션은 애플리케이션의 특정 요구 사항에 따라 다릅니다. [JsonProperty] 특성은 개인 설정자를 처리하는 간단한 방법을 제공하지만 속성에 대한 특성 장식이 필요합니다. 생성자를 사용하는 대체 접근 방식은 속성 장식을 피하고 개인 및 공용 설정자 모두에서 작동합니다.
위 내용은 Json.Net을 사용하여 JSON 역직렬화 중에 개인 설정자를 어떻게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!