Hantera saknade medlemmar under deserialisering
Om JSON-nyttolasten som du deserialiserar innehåller egenskaper som inte finns i poco-typen (deserialized plain old CLR object) ignoreras de som standard. Från och med .NET 8 kan du ange att alla medlemmar måste finnas i nyttolasten. Om de inte är det utlöses ett JsonException undantag. Du kan konfigurera det här beteendet på något av tre sätt:
Kommentera din POCO-typ med JsonUnmappedMemberHandlingAttribute attributet och ange antingen till Skip eller Disallow saknade medlemmar.
[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'.
Ange JsonSerializerOptions.UnmappedMemberHandling till antingen Skip eller Disallow.
JsonTypeInfo Anpassa kontraktet för relevant typ. (Information om hur du anpassar ett kontrakt finns i Anpassa ett JSON-kontrakt.)