JsonSerializerOptions.RespectNullableAnnotations Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define um valor que indica se as anotações de nulidade devem ser respeitadas durante a serialização e 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 de Propriedade
Exceções
Esta propriedade é definida após ocorrer a serialização ou desserialização.
Observações
Configura o serializador para lançar uma exceção ao tentar serializar um null valor de um obtentor de propriedade não anulável, ou ao desserializar um null valor num definidor de propriedades ou parâmetro construtor não anulável. As anotações de nulidade são resolvidas a partir das propriedades, campos e parâmetros do construtor usados pelo serializador. Isto inclui anotações derivadas de atributos como NotNullAttribute, MaybeNullAttribute, AllowNullAttribute e DisallowNullAttribute.
Devido às restrições na forma como os tipos de referência nulos são representados em tempo de execução, esta definição apenas regula as anotações de nulidade de propriedades, campos e parâmetros de construtores não genéricos. Não pode ser usado para impor anotações de anulabilidade de tipos ao nível raiz, elementos de coleção ou parâmetros genéricos. A definição padrão desta propriedade pode ser ativada em toda a aplicação usando a opção "System.Text.Json.Serialization.RespectNullableAnnotationsDefault".
A validação de nulidade funciona independentemente da validação de requisito necessário, ou seja, a definição não tem efeito em cenários em que a carga útil não tem uma propriedade exigida. Isto pode ser configurado independentemente usando a required palavra-chave, o JsonRequiredAttribute atributo ou a RespectRequiredConstructorParameters propriedade.
Recomenda-se que as novas aplicações definam sempre esta propriedade para true, em combinação com a propriedade intimamente relacionada RespectRequiredConstructorParameters .