Descripción general
Este tutorial rápido ilustrará cómo usar Jackson 2 para deserializar JSON utilizando un deserializador personalizado.
si quieres profundizar y aprender otras cosas interesantes que puedes hacer con el Jackson 2, Ve al tutorial principal de Jackson.,
leer Más:
Introducción a los Jackson ObjectMapper
Jackson – Decidir Qué Campos se Serializar/Deserializar
Jackson-serializador personalizado
y finalmente, vamos a desmarcar este JSON a entidades Java:
Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);
Deserializer personalizado en ObjectMapper
en el ejemplo anterior, la representación JSON coincidió perfectamente con las entidades java – a continuación, simplificaremos el JSON:
{ "id": 1, "itemName": "theItem", "createdBy": 2}
al desmarcar esto a las mismas entidades – por defecto, esto por supuesto fallará:
resolveremos esto haciendo nuestra propia deserialización con un deserializador personalizado:
Como puede ver, el deserializador está trabajando con la representación estándar de Jackson de Json – el jsonnode., Una vez que el JSON de entrada se representa como un JsonNode, ahora podemos extraer la información relevante de él y construir nuestra propia entidad Item.,
en pocas palabras, necesitamos registrar este deserializador personalizado y simplemente deserializar el JSON normalmente:
deserializador personalizado en la clase
alternativamente, también podemos registrar el deserializador directamente en la clase:
@JsonDeserialize(using = ItemDeserializer.class)public class Item { ...}
con el deserializador definido a nivel de clase, no hay necesidad de registrarlo en ObjectMapper – un Mapeador predeterminado funcionará bien:
Item itemWithOwner = new ObjectMapper().readValue(json, Item.class);
este tipo de configuración por clase es muy útil en situaciones en las que puede que no tengamos acceso directo al mapeador de objetos RAW para configurar.,
conclusión
Este artículo muestra cómo aprovechar Jackson 2 para leer entradas JSON no estándar y cómo asignar esa entrada a cualquier gráfico de entidades java con control total sobre la asignación.
la implementación de todos estos ejemplos y fragmentos de código se puede encontrar en over on GitHub – es un proyecto basado en Maven, por lo que debería ser fácil de importar y Ejecutar como está.
empezar con el Muelle 5 y el Resorte de Arranque 2, a través del aprendizaje del curso Primavera:
>> COMPRUEBE EL CURSO
Deja una respuesta