逆シリアル化中に不足しているメンバーを処理する
既定では、逆シリアル化している JSON ペイロードに、逆シリアル化された POCO (単純な従来の CLR オブジェクト) 型にないプロパティが含まれている場合、それらは無視されます。 .NET 8 以降では、すべてのメンバーがペイロードに存在する必要があることを指定できます。 そうでない場合、JsonException 例外がスローされます。 この動作は、次の 3 つの方法のいずれかで構成できます。
POCO 型に
[<xref:System.Text.Json.Serialization.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
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示