사용자 지정 쓰기 논리 없이 사용자 지정 System.Text.Json.JsonConverter에서 기본 직렬화 동작을 유지하는 방법은 무엇입니까?
JsonConverter 선택에는 다음을 포함하여 다양한 우선순위가 있습니다.
변환기가 적용되는 방식에 따라 기본 직렬화를 구현하는 방법이 다릅니다.
JsonSerializer.Serialize(writer, person, options)를 호출하면 기본 직렬화가 생성됩니다.
다음은 변환기 팩토리를 사용하는 예입니다.
<code class="language-csharp">public sealed class PersonConverter : DefaultConverterFactory<Person> { ... protected override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions modifiedOptions) => (T)JsonSerializer.Deserialize(ref reader, typeToConvert, modifiedOptions); protected override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions modifiedOptions) => JsonSerializer.Serialize(writer, value, modifiedOptions); } ... var person = new Person("John", "Doe"); var options = new JsonSerializerOptions { Converters = { new PersonConverter() } }; var json = JsonSerializer.Serialize(person, options);</code>
위 내용은 사용자 정의 JsonConverters에서 기본 JSON 직렬화 동작을 어떻게 보존할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!