Manipular membros não mapeados durante a desserialização
Por padrão, se a carga JSON que você está desserializando contiver propriedades que não existem no tipo POCO (Objeto CLR, Common Language Runtime) tradicional, elas serão simplesmente ignoradas. A partir do .NET 8, você pode especificar que todas as propriedades de payload devem existir no POCO. Se elas não existirem, uma exceção JsonException será gerada durante a desserialização. Você pode configurar esse comportamento de uma das três maneiras abaixo:
Anote seu tipo POCO com o atributo JsonUnmappedMemberHandlingAttribute, especificando para Skip ou membros não mapeados 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.)