Ongemapte leden verwerken tijdens de deserialisatie
Als de JSON-nettolading die u deserialiseert, standaard eigenschappen bevat die niet bestaan in het type gewone oude CLR-object (POCO), worden ze gewoon genegeerd. Vanaf .NET 8 kunt u opgeven dat alle payload-eigenschappen moeten bestaan in de POCO. Als dat niet zo is, wordt er een JsonException-uitsluiting geworpen tijdens deserialisatie. U kunt dit gedrag op drie manieren configureren:
Annoteren je POCO-type met het JsonUnmappedMemberHandlingAttribute-attribuut en specificeer of Skip of Disallow voor niet-toegewezen leden.
[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'.
Ingesteld JsonSerializerOptions.UnmappedMemberHandling op of SkipDisallow.
Pas het JsonTypeInfo contract voor het relevante type aan. (Zie voor meer informatie over het aanpassen van een contract Een JSON-contract aanpassen.)