Ongemapte leden verwerken tijdens de deserialisatie
Artikel
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:
[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'.
Pas het JsonTypeInfo contract voor het relevante type aan. (Zie voor meer informatie over het aanpassen van een contract Een JSON-contract aanpassen.)
Met ons samenwerken op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
In deze module wordt het gebruik van uitzonderingen en het verwerkingsproces voor uitzonderingen in C#-consoletoepassingen verkend. Praktijkactiviteiten bieden ervaring met het implementeren van patronen voor het verwerken van uitzonderingen voor verschillende coderingsscenario's.
Informatie over het afhandelen van overloop-JSON of het gebruik van JsonElement of JsonNode tijdens het System.Text.Json serialiseren en deserialiseren van JSON in .NET.