JsonSerializerOptions.RespectNullableAnnotations 属性

定义

获取或设置一个值,该值指示在序列化和反序列化期间是否应遵循可为 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

属性值

例外

在序列化或反序列化发生后设置此属性。

注解

将序列化程序配置为在尝试从不可为 null 的属性 getter 序列化 null 值时或将 null 值反序列化为不可为 null 的属性 setter 或构造函数参数时引发异常。 从序列化程序使用的属性、字段和构造函数参数解析可为 Null 性批注。 这包括源自属性的注释,如 NotNullAttributeMaybeNullAttributeAllowNullAttributeDisallowNullAttribute

由于运行时表示可为 null 引用类型的限制,此设置仅控制非泛型属性、字段和构造函数参数的可为 null 性注释。 它不能用于强制实施根级类型、集合元素或泛型参数的可为 null 性批注。 可以使用“System.Text.Json.Serialization.RespectNullableAnnotationsDefault”功能开关切换此属性的默认设置。

可 Null 性验证函数独立于必需性验证,也就是说,在有效负载缺少所需属性的情况下,该设置不起作用。 可以使用 required 关键字、JsonRequiredAttribute 属性或 RespectRequiredConstructorParameters 属性单独配置此配置。

建议新应用程序始终将此属性设置为 true,并结合密切相关 RespectRequiredConstructorParameters 属性。

适用于