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 非許容プロパティ ゲッターから null
値をシリアル化しようとしたとき、または null 非許容プロパティ セッターまたはコンストラクター パラメーターに null
値を逆シリアル化するときに、シリアライザーが例外をスローするように構成します。 Null 許容注釈は、シリアライザーによって使用されるプロパティ、フィールド、およびコンストラクターパラメーターから解決されます。 これには、NotNullAttribute、MaybeNullAttribute、AllowNullAttribute、DisallowNullAttributeなどの属性に由来する注釈が含まれます。
実行時に null 許容参照型を表す方法に制限があるため、この設定では、非ジェネリック プロパティ、フィールド、およびコンストラクター パラメーターの null 許容注釈のみが制御されます。 ルート レベルの型、コレクション要素、またはジェネリック パラメーターの null 許容注釈を適用するために使用することはできません。 このプロパティの既定の設定は、"System.Text.Json.Serialization.RespectNullableAnnotationsDefault" 機能スイッチを使用して、アプリケーション全体で切り替えることができます。
必須性検証とは無関係に Null 許容検証関数が機能します。つまり、ペイロードに必要なプロパティがないシナリオでは、設定は無効になります。 これは、required
キーワード、JsonRequiredAttribute 属性、または RespectRequiredConstructorParameters プロパティを使用して個別に構成できます。
新しいアプリケーションでは、このプロパティを常に true
に設定し、密接に関連する RespectRequiredConstructorParameters プロパティと組み合わせて使用することをお勧めします。
適用対象
.NET