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

Uso de BitmapFont en LibGDX

En este tutorial conoceremos lo que es el uso de BitmapFont en LibGDX y algún uso que le podemos dar como crear un menú,[...]

Leer datos de un REST API con VUE

En este post realizaremos un proyecto en VUE que se conectara a un REST API  y utilizara un servicio del mismo para[...]

Construye tu aplicación de mensajeria

En este post crearemos una aplicación sencilla para mandar mensajes de texto desde android. Necesitamos IDE: Eclipse + S[...]

Desarrollo de juegos con Libgdx y Android Studio

De las pocas herramientas disponibles entre librerías, frameworks, engines, etc para el desarrollo de videojuegos en len[...]

Convertir imagenes JPEG a video MOV

Googleando me encontré con una interesante clase java «JpegImagesToMovie» que convierte imágenes JPEG a vídeo MOV de[...]

Personaliza un JComboBox estilo Metro de Windows

Si bien se pueden encontrar en google estilos java (Look and Feel) listos para cambiar la apariencia de nuestras aplicac[...]