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 非許容プロパティ ゲッターから null 値をシリアル化しようとしたとき、または null 非許容プロパティ セッターまたはコンストラクター パラメーターに null 値を逆シリアル化するときに、シリアライザーが例外をスローするように構成します。 Null 許容注釈は、シリアライザーによって使用されるプロパティ、フィールド、およびコンストラクターパラメーターから解決されます。 これには、NotNullAttributeMaybeNullAttributeAllowNullAttributeDisallowNullAttributeなどの属性に由来する注釈が含まれます。

実行時に null 許容参照型を表す方法に制限があるため、この設定では、非ジェネリック プロパティ、フィールド、およびコンストラクター パラメーターの null 許容注釈のみが制御されます。 ルート レベルの型、コレクション要素、またはジェネリック パラメーターの null 許容注釈を適用するために使用することはできません。 このプロパティの既定の設定は、"System.Text.Json.Serialization.RespectNullableAnnotationsDefault" 機能スイッチを使用して、アプリケーション全体で切り替えることができます。

必須性検証とは無関係に Null 許容検証関数が機能します。つまり、ペイロードに必要なプロパティがないシナリオでは、設定は無効になります。 これは、required キーワード、JsonRequiredAttribute 属性、または RespectRequiredConstructorParameters プロパティを使用して個別に構成できます。

新しいアプリケーションでは、このプロパティを常に trueに設定し、密接に関連する RespectRequiredConstructorParameters プロパティと組み合わせて使用することをお勧めします。

適用対象