JsonSerializerOptions.RespectNullableAnnotations 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,這個值表示串行化和還原串行化期間是否應該遵守可為 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 的批注會從串行化程式所使用的屬性、欄位和建構函式參數解析。 這包括來自屬性的批注,例如 NotNullAttribute、MaybeNullAttribute、AllowNullAttribute 和 DisallowNullAttribute。
由於在運行時間表示可為 Null 參考型別的限制,此設定只會控管非泛型屬性、欄位和建構函式參數的可為 Null 性批注。 它無法用來強制執行根層級類型、集合專案或泛型參數的可為 Null 註釋。 此屬性的預設設定可以使用 「System.Text.Json.Serialization.RespectNullableAnnotationsDefault」 功能參數來切換整個應用程式。
與必要性驗證無關的可為 Null 驗證函式,也就是說,在承載遺漏必要屬性的情況下,設定沒有作用。 這可以使用 required
關鍵詞、JsonRequiredAttribute 屬性或 RespectRequiredConstructorParameters 屬性獨立設定。
建議新的應用程式一律將此屬性設定為 true
,並結合密切相關的 RespectRequiredConstructorParameters 屬性。