逆シリアル化中に不足しているメンバーを処理する
既定では、逆シリアル化している JSON ペイロードに、逆シリアル化された POCO (単純な従来の CLR オブジェクト) 型にないプロパティが含まれている場合、それらは無視されます。 .NET 8 以降では、すべてのメンバーがペイロードに存在する必要があることを指定できます。 そうでない場合、JsonException 例外がスローされます。 この動作は、次の 3 つの方法のいずれかで構成できます。
POCO 型に JsonUnmappedMemberHandlingAttribute 属性で注釈を付け、不足しているメンバーを Skip または Disallow するように指定します。
[JsonUnmappedMemberHandling(JsonUnmappedMemberHandling.Disallow)] public class MyPoco { public int Id { get; set; } } JsonSerializer.Deserialize<MyPoco>("""{"Id" : 42, "AnotherId" : -1 }"""); // JsonException : The JSON property 'AnotherId' could not be mapped to any .NET member contained in type 'MyPoco'.
JsonSerializerOptions.UnmappedMemberHandling を Skip または Disallow のいずれかに設定します。
関連する型の JsonTypeInfo コントラクトをカスタマイズします。 (コントラクトのカスタマイズの詳細については、「JSON コントラクトをカスタマイズする」を参照してください)
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET