JsonSerializerOptions.RespectNullableAnnotations Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que indica si se deben respetar las anotaciones de nulabilidad durante la serialización y deserialización.
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 propiedad
Excepciones
Esta propiedad se establece después de que se haya producido la serialización o deserialización.
Comentarios
Configura el serializador para iniciar una excepción al intentar serializar un valor de null
de un captador de propiedades que no acepta valores NULL o al deserializar un valor de null
en un parámetro de constructor o establecedor de propiedades que no acepta valores NULL. Las anotaciones de nulabilidad se resuelven a partir de las propiedades, los campos y los parámetros de constructor que usa el serializador. Esto incluye anotaciones derivadas de atributos como NotNullAttribute, MaybeNullAttribute, AllowNullAttribute y DisallowNullAttribute.
Debido a las restricciones de cómo se representan los tipos de referencia que aceptan valores NULL en tiempo de ejecución, esta configuración solo rige las anotaciones de nulabilidad de propiedades, campos y parámetros de constructor no genéricos. No se puede usar para aplicar anotaciones de nulabilidad de tipos de nivel raíz, elementos de colección o parámetros genéricos. El valor predeterminado de esta propiedad se puede alternar en toda la aplicación mediante el modificador de características "System.Text.Json.Serialization.RespectNullableAnnotationsDefault".
Las funciones de validación de nulabilidad independientemente de la validación de requisitos necesarios, es decir, la configuración no tiene ningún efecto en escenarios en los que falta una propiedad necesaria. Esto se puede configurar de forma independiente mediante la palabra clave required
, el atributo JsonRequiredAttribute o la propiedad RespectRequiredConstructorParameters.
Se recomienda que las nuevas aplicaciones siempre establezcan esta propiedad en true
, en combinación con la propiedad RespectRequiredConstructorParameters estrechamente relacionada.