Gestionar miembros no mapeados durante la deserialización
De forma predeterminada, si la carga JSON que está deserializando contiene propiedades que no existen en el tipo de objeto CLR (POCO) simple, simplemente se omiten. A partir de .NET 8, puede especificar que todas las propiedades de carga útiles deben existir en POCO. Si no es así, se lanza una excepción JsonException durante la deserialización. Puede configurar este comportamiento de tres maneras:
Anote su tipo POCO con el atributo JsonUnmappedMemberHandlingAttribute, especificando Skip o Disallow para los miembros no asignados.
[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'.
Establezca JsonSerializerOptions.UnmappedMemberHandling en Skip o Disallow.
Personalice el contrato JsonTypeInfopara el tipo pertinente. (Para obtener más información sobre cómo personalizar un contrato, consulte Personalización de un contrato JSON).