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
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:
enjoy!!!
En un post anterior se vio como llenar un JTree en donde se conocía de antemano que estructura iba a tener esta sin emba[...]
Si nuestra aplicación tiene que llevar a cabo un cierto trabajo que no sabemos cuanto durará y que a la vez consume much[...]
En este segundo post sobre Android y SQLite, veremos el uso de los métodos de gestión de base de datos más utilizados, e[...]
Uno de los cambios principales introducidos a las interfaces en Java 8 fue que estos puedan tener métodos concretos, es[...]
Si bien se pueden encontrar en google estilos java (Look and Feel) listos para cambiar la apariencia de nuestras aplicac[...]
La API de Android ha ido evolucionado rápidamente y cada vez contiene más funcionalidades que hacen que desarrollar sist[...]