다음을 통해 공유


JsonSerializerOptions.RespectNullableAnnotations 속성

정의

serialization 및 deserialization 중에 null 허용 여부 주석을 적용해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

public:
 property bool RespectNullableAnnotations { bool get(); void set(bool value); };
public bool RespectNullableAnnotations { get; set; }
member this.RespectNullableAnnotations : bool with get, set
Public Property RespectNullableAnnotations As Boolean

속성 값

예외

이 속성은 serialization 또는 deserialization이 발생한 후에 설정됩니다.

설명

nullable이 아닌 속성 getter에서 null 값을 직렬화하거나 null 값을 nullable이 아닌 속성 setter 또는 생성자 매개 변수로 역직렬화할 때 예외를 throw하도록 serializer를 구성합니다. Null 허용 여부 주석은 serializer에서 사용되는 속성, 필드 및 생성자 매개 변수에서 확인됩니다. 여기에는 NotNullAttribute, MaybeNullAttribute, AllowNullAttributeDisallowNullAttribute같은 특성에서 비롯되는 주석이 포함됩니다.

런타임에 nullable 참조 형식을 나타내는 방법의 제한으로 인해 이 설정은 제네릭이 아닌 속성, 필드 및 생성자 매개 변수의 null 허용 여부 주석만 제어합니다. 루트 수준 형식, 컬렉션 요소 또는 제네릭 매개 변수의 null 허용 여부 주석을 적용하는 데 사용할 수 없습니다. 이 속성의 기본 설정은 "System.Text.Json.Serialization.RespectNullableAnnotationsDefault" 기능 스위치를 사용하여 애플리케이션 전체로 전환할 수 있습니다.

Null 허용 여부 유효성 검사는 필수 유효성 검사와 독립적으로 작동합니다. 즉, 페이로드에 필수 속성이 누락된 시나리오에서는 설정이 영향을 주지 않습니다. required 키워드, JsonRequiredAttribute 특성 또는 RespectRequiredConstructorParameters 속성을 사용하여 독립적으로 구성할 수 있습니다.

새 애플리케이션은 항상 밀접하게 관련된 RespectRequiredConstructorParameters 속성과 함께 이 속성을 true설정하는 것이 좋습니다.

적용 대상