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

TextInput – Material Design

TextInput es una caja de texto que implementa el estilo de Material Design popular en dispositivos móviles, pero este sw[...]

Introducción a Fragment

Un Fragment representa un comportamiento o una parte de la interfaz de usuario en una Activity. Puedes combinar múltiple[...]

Agregar JComboBox a un JTable

En este post, crearemos una tabla swing que implemente un control jcombobox en una columna de una tabla, llenaremos con[...]

Animación con sprites y LibGDX

En este post veremos una pequeña introducción a lo que son las animaciones con LibGDX y el uso de sprites. ¿Que es la an[...]

Reconocimiento Óptico de Caracteres con Tess4J

El reconocimiento óptico de caracteres o OCR (Optical Character Recognition), es un proceso dirigido a la digitalización[...]

Gestión de Stock (Parte 2)

Continuando con el desarrollo de la aplicación (Parte 1), abrimos Netbeans y creamos un nuevo proyecto al que llamaremos[...]