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

El artículo discute Jackson central de ObjectMapper clase básica de serialización y deserialización así como la configuración de los dos procesos.
Leer más →

Jackson – Decidir Qué Campos se Serializar/Deserializar

Cómo controlar qué campos se serializar/deserializar por Jackson y los campos que son ignorados.,
Leer más →

Jackson-serializador personalizado

Controle su salida JSON con Jackson 2 utilizando un 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

Anterior

Steve Carell

Siguiente

libros electrónicos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *