유형화된 C# 개체를 사용한 중첩 JSON 역직렬화
중첩 JSON을 일반 사전
ObjectAsPrimitiveConverter
다음 코드는 ObjectAsPrimitiveConverter라는 사용자 지정 JsonConverter를 제공합니다.
public class ObjectAsPrimitiveConverter : JsonConverter<object> { // ... (converter implementation) }
변환기 구성
변환기를 구성하려면 원하는 FloatFormat(이중 또는 소수), UnknownNumberFormat(오류 또는 JsonElement) 및 ObjectFormat(ExpandoObject 또는 Dictionary
var options = new JsonSerializerOptions { Converters = { new ObjectAsPrimitiveConverter(...) }, WriteIndented = true, };
역직렬화 객체
중첩된 JSON을 객체(또는 ExpandoObject를 사용하는 경우 동적)로 역직렬화하려면 다음을 사용하세요.
dynamic d = JsonSerializer.Deserialize<dynamic>(json, options);
사용자 정의
변환기는 다양한 숫자 유형과 개체 형식을 지원하도록 사용자 정의할 수 있습니다. 또한 지원되지 않는 JSON 숫자를 더 적절하게 처리하도록 확장할 수 있습니다.
결론
사용자 정의 JsonConverter를 구현하면 중첩된 JSON 객체의 유형별 역직렬화를 달성할 수 있습니다. 각 속성에 대해 적절한 C# 유형을 사용하여 계층적 데이터 구조로 변환합니다.
위 내용은 중첩된 JSON을 형식화된 C# 개체로 역직렬화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!