Gerenciar membros ausentes durante a desserialização
Por padrão, se o conteúdo JSON que você está desserializando contiver propriedades que não existem no tipo POCO (objeto CRL básico) simples desserializado, elas serão simplesmente ignoradas. A partir do .NET 8, você pode especificar que todos os membros precisam estar presentes no conteúdo. Se eles não estiverem, uma exceção JsonException será gerada. Você pode configurar esse comportamento de uma das três maneiras abaixo:
Anote seu tipo POCO com o atributo JsonUnmappedMemberHandlingAttribute, especificando para os membros ausentes Skip ou Disallow.
[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'.
Defina JsonSerializerOptions.UnmappedMemberHandling como Skip ou Disallow.
Personalize o contrato JsonTypeInfo para o tipo relevante. (Para obter informações sobre como personalizar um contrato, confira Personalizar um contrato JSON.)