Ontbrekende leden verwerken tijdens de deserialisatie
Als de JSON-nettolading die u deserialiseert standaard eigenschappen bevat die niet bestaan in het niet-gedeserialiseerde oude CLR-objecttype (POCO), worden ze gewoon genegeerd. Vanaf .NET 8 kunt u opgeven dat alle leden aanwezig moeten zijn in de nettolading. Als dat niet zo is, wordt er een JsonException uitzondering gegenereerd. U kunt dit gedrag op drie manieren configureren:
Annotate your POCO type with the
[<xref:System.Text.Json.Serialization.JsonUnmappedMemberHandlingAttribute>]
attribute, specifying to Skip or Disallow missing members.[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.)