Mappeo de JSON a Java: ObjectMapper y Gson

Antonio Galisteo

Hoy en día, las API’s REST estan muy extendidas y todos los lenguajes de programación dan soporte para consumirlas.

En esta ocasión, vamos a ver cómo mapear objetos JSON a objetos en Java. Hay varias formas de hacer esto, aquí vamos a ver dos.

En primer lugar, 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;
    }

Teniendo esto, vamos a ver las dos formas de mapear un JSON a objetos Java que comentabamos al inicio.

1. Mapeo de JSON a Java con ObjectMapper

Primero, declaramos un obejtos 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);

Y con esto ya tenemos mapeado nuestro JSON en nuestro objeto miPersona.

2. 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 mepeo 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.

Espero que os haya sido de utilidad.

Publicado el 19-12-2016

Compartelo!

Deja un comentario

Comentanos

*
Ir arriba de la pagina