JsonSerializerOptions.RespectNullableAnnotations Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Anmerkungen zur Nullierbarkeit während der Serialisierung und Deserialisierung berücksichtigt werden sollen.
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
Eigenschaftswert
Ausnahmen
Diese Eigenschaft wird festgelegt, nachdem die Serialisierung oder Deserialisierung aufgetreten ist.
Hinweise
Konfiguriert den Serialisierer so, dass eine Ausnahme ausgelöst wird, wenn versucht wird, einen null
Wert aus einem nicht nullablen Eigenschafts-Getter zu serialisieren, oder wenn ein null
Wert in einen nicht nullablen Eigenschaftensatzer oder Konstruktorparameter deserialisiert wird. Anmerkungen zur Nullierbarkeit werden aus den Eigenschaften, Feldern und Konstruktorparametern aufgelöst, die vom Serialisierer verwendet werden. Dazu gehören Anmerkungen, die aus Attributen wie NotNullAttribute, MaybeNullAttribute, AllowNullAttribute und DisallowNullAttributestammen.
Aufgrund von Einschränkungen bei der Darstellung nullfähiger Verweistypen zur Laufzeit steuert diese Einstellung nur Nullbarkeitsanmerkungen von nicht generischen Eigenschaften, Feldern und Konstruktorparametern. Sie kann nicht verwendet werden, um Anmerkungen zur Nullierbarkeit von Typen auf Stammebene, Sammlungselementen oder generischen Parametern zu erzwingen. Die Standardeinstellung für diese Eigenschaft kann mithilfe des Featureschalters "System.Text.Json.Serialization.RespectNullableAnnotationsDefault" anwendungsweit umgeschaltet werden.
Die Überprüfung der Nullierbarkeit erfolgt unabhängig von der Überprüfung der Erforderlichen, d. h. die Einstellung hat keine Auswirkungen in Szenarien, in denen die Nutzlast eine erforderliche Eigenschaft fehlt. Dies kann unabhängig mithilfe des schlüsselworts required
, des attributs JsonRequiredAttribute oder der RespectRequiredConstructorParameters-Eigenschaft konfiguriert werden.
Es wird empfohlen, dass neue Anwendungen diese Eigenschaft immer auf true
festlegen, in Kombination mit der eng verbundenen RespectRequiredConstructorParameters-Eigenschaft.