System.Text.Json을 사용하여 클래스 필드 직렬화 및 역직렬화
System.Text.Json의 .NET Core 3.x 버전은 기본적으로 클래스 필드의 직렬화 및 역직렬화를 지원하지 않습니다. 이는 데이터 저장을 위해 필드에 크게 의존하는 클래스에 문제가 될 수 있습니다.
이 문제를 해결하기 위해 System.Text.Json은 .NET 버전에 따라 두 가지 방법을 제공합니다.
.NET Core 3.x
안타깝게도 .NET Core 3.x에서는 System.Text.Json이 필드를 지원하지 않습니다. 이러한 제한을 극복하려면 필드의 직렬화 및 역직렬화를 처리하는 사용자 지정 변환기를 만들어야 합니다.
.NET 5 이상
.NET 5부터 JsonSerializerOptions.IncludeFields 속성을 true로 설정하여 공개 필드를 직렬화할 수 있습니다. 또는 [JsonInclude] 특성을 사용하여 직렬화할 필드를 명시적으로 표시할 수 있습니다. 예시는 다음과 같습니다.
<code class="language-csharp">using System.Text.Json; public class Car { public int Year { get; set; } [JsonInclude] public string Model; } static void SerializeWithFields() { var car = new Car { Model = "Fit", Year = 2008 }; var options = new JsonSerializerOptions { IncludeFields = true }; var json = JsonSerializer.Serialize(car, options); Console.WriteLine(json); // {"Model": "Fit", "Year": 2008} }</code>
이러한 기술을 활용하면 클래스 필드를 처리할 때에도 System.Text.Json을 사용하여 클래스를 효율적으로 직렬화 및 역직렬화할 수 있습니다.
위 내용은 System.Text.Json을 사용하여 클래스 필드를 직렬화 및 역직렬화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!