Mappeo de JSON a Java y de Java a JSON: ObjectMapper y Gson
Anuncio:
Acutlamnte, las API’s REST estan muy extendidas y todos los lenguajes de programación dan soporte para consumirlas. Es necesario saber cómo hacer un mappeo de JSON a Java y de Java a JSON: ObjectMapper y Gson.
Asumimos que ya hemos hecho la llamada al API Rest y que tenemos la respuesta:
String responseBody = response.getBody();
Con esto, tenemos en la variable responseBody el JSON devuelto por el servicio.
Ahora, tenemos una clase en Java, Persona (muy básica), que es la que queremos mapear.
public class Persona {
private String nombres;
private String apellidos;
private String dni;
public String getNombres() {
return nombres;
}
public void setNombres(String nombres) {
this.nombres = nombres;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos
}
public String getDni() {
return dni;
}
public void setDni(String dni) {
this.dni = dni;
}
Partiendo de esta clase, vamos a ver las dos formas de mapear un JSON a objetos Java que comentábamos al inicio.
1. Mapeo de JSON a Java con ObjectMapper
Primero, declaramos un objeto de tipo ObjectMapper
ObjectMapper mapper = new ObjectMapper();
Y hacer el mapeo a Java es tan sencillo como lo siguiente:
Persona miPersona = new Persona();
miPersona = mapper.readValue(responseBody, Persona.class);
Con esto, ya tenemos mapeado nuestro JSON en nuestro objeto miPersona.
2. Mapeo de Java a JSON con ObjectMapper
Igualmente, vamos a declarar un objeto de tipo ObjectMapper
ObjectMapper mapper = new ObjectMapper();
Para hacer le mapeo de Java a JSON hacemos lo siguiente:
Persona miPersona = new Persona();
String miPersonaString = mapper.writeValueAsString(miPersona);
Así, hemos mapeado nuestro objeto miPersona de Java a un String, con el que podemos construir un JSON.
3. Mapeo de JSON a Java con Gson, la libería de Google
En primer lugar, declaramos un objeto de tipo Gson
Gson gson = new Gson();
Y el mapeo del JSON sería
Persona miPersona = new Persona();
miPersona = gson.fromJson(responseBody, Persona.class);
Como vemos las dos formas de mapeo son iguales, solo cambia el objeto con el que hacemos el Mapeo.
Puedes consultar más artículos en nuestra sección de Java. Y también puedes consultar la documentación oficial de Java.
Si tienes alguna duda o sugerencia puedes dejarnos un comentario. Recuerda que los comentarios quedan pendientes de aprobación, por aquello del spam 🙂
Espero que te haya sido de utilidad este artículo para aprender cómo hacer un mappeo de JSON a Java y de Java a JSON: ObjectMapper y Gson.