Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / GSON: Convertir array JSON en List de objetos Java

GSON: Convertir array JSON en List de objetos Java

Por jc mouse lunes, julio 24, 2017

En este ejemplo tenemos un array en JSON el cual representa una lista de alumnos y queremos llevar este a una lista en java usando la librería GSON de Google Inc.

Array JSON

JSON List

Clase Alumno equivalente a cada item del array JSON

/**
 * @see https://www.jc-mouse.net/
 * @author jc mouse
 */
public class Alumno {
    
    private int id;
    private String nombre;
    private String apellidos;

    public Alumno() {}

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }
    
}

Deserializando el array JSON

Para deserializar el array JSON en un List Java, utilizamos la clase TypeToken<T> y lo tipamos con el List<Alumno> e invocamos a su método getType() como se ve en el siguiente ejemplo:

import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import java.util.List;

public class NewMain {

    public static void main(String[] args) {
        String jsonString = "[{\"id\":1,\"nombre\":\"Ana\",\"apellidos\":\"Macia Pajas\"},"
                + "{\"id\":2,\"nombre\":\"Antonio\",\"apellidos\":\"Sueltamelo\"},"
                + "{\"id\":3,\"nombre\":\"Elba\",\"apellidos\":\"Lazo\"}]";
        try{
            Gson gson = new Gson();                
            List<Alumno> listAlumnos = gson.fromJson(jsonString, new TypeToken<List<Alumno>>(){}.getType());     
            if( listAlumnos!= null ){
                for(Alumno object : listAlumnos){
                    System.out.println("\nAlumno : " + object.getNombre() + " " + object.getApellidos() );    
                }
            }
        }catch(JsonSyntaxException e){
            System.err.println("JsonSyntaxException: " + e.getMessage());
        }    
    }
    
}

Una vez que ya tenemos el List Java, imprimimos todos los alumnos de la lista:

Console REST

enjoy!!!

Tags

Artículos similares

Leer y Escribir registros en archivo de texto

A veces se necesita utilizar archivos de texto plano como contenedor de registros como si de una base de datos se tratar[...]

ExecutorService: Tareas asíncronas

Desde java 7 esta disponible la interface ExecutorService que se extiende de Executor y nos proporciona los métodos nece[...]

Convertir imágenes JPG a PDF

En este post vemos un ejemplo de como convertir un archivo de imagen JPG en un archivo PDF utilizando para ellos la libr[...]

HSQLDB: Gestor de bases de datos libre en java

HyperSQL DataBase (HSQLDB) es un moderno administrador de bases de datos relacionales, es portátil e implementado en jav[...]

Servicio Web SOAP en Java

En este post vamos a construir un Servicio Web bajo el protocolo SOAP (Simple Object Access Protocol) el cual básicament[...]

Reproducir video en JFrame Swing con JavaFX

JavaFX un producto de  Sun Microsystems/Oracle Corporation que salio a la luz para competir con tecnologías como Flash o[...]