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
[<xref:System.Text.Json.Serialization.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.)
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för