JsonSerializerOptions.RespectNullableAnnotations Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.