Hantera omappade medlemmar under deserialisering
Om JSON-nyttolasten som du deserialiserar innehåller egenskaper som inte finns i poco-typen (plain old CLR object) ignoreras de som standard. Från och med .NET 8 har du möjlighet att ange att alla egenskaper för nyttolast måste finnas i POCO-. Om de inte är det utlöses ett JsonException undantag under deserialiseringen. Du kan konfigurera det här beteendet på något av tre sätt:
Kommentera din POCO-typ med attributet JsonUnmappedMemberHandlingAttribute och ange Skip eller Disallow omappade 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.)