Compartilhar via


JsonSerializerOptions.RespectNullableAnnotations Propriedade

Definição

Obtém ou define um valor que indica se as anotações de nulidade devem ser respeitadas durante a serialização e a desserialização.

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

Valor da propriedade

Exceções

Essa propriedade é definida após a serialização ou desserialização.

Comentários

Configura o serializador para gerar uma exceção ao tentar serializar um valor null de um getter de propriedade não anulável ou ao desserializar um valor de null em um parâmetro de construtor ou setter de propriedade não anulável. As anotações de nulidade são resolvidas com base nas propriedades, campos e parâmetros de construtor usados pelo serializador. Isso inclui anotações provenientes de atributos como NotNullAttribute, MaybeNullAttribute, AllowNullAttribute e DisallowNullAttribute.

Devido a restrições de como os tipos de referência anuláveis são representados em tempo de execução, essa configuração rege apenas anotações de nulidade de propriedades, campos e parâmetros de construtor não genéricos. Ele não pode ser usado para impor anotações de nulidade de tipos de nível raiz, elementos de coleção ou parâmetros genéricos. A configuração padrão dessa propriedade pode ser alternada em todo o aplicativo usando a opção de recurso "System.Text.Json.Serialization.RespectNullableAnnotationsDefault".

Funções de validação de nulidade independentemente da validação obrigatória, ou seja, a configuração não tem efeito em cenários em que a carga está faltando uma propriedade necessária. Isso pode ser configurado independentemente usando a palavra-chave required, o atributo JsonRequiredAttribute ou a propriedade RespectRequiredConstructorParameters.

É recomendável que novos aplicativos sempre definam essa propriedade como true, em combinação com a propriedade RespectRequiredConstructorParameters intimamente relacionada.

Aplica-se a