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 este post aprenderemos lo que es la clonación de objetos en java o lo que es lo mismo, generación de nuevas instancia[...]
La policia, el FBI u otros organismos similares utilizaban a dibujantes para realizar el «retrato hablado» de algún male[...]
Uno de los cambios principales introducidos a las interfaces en Java 8 fue que estos puedan tener métodos concretos, es[...]
El siguiente código te permite abrir enlaces web desde un JLabel, ademas aprovechando el soporte a etiquetas HTML del co[...]
Cuando se almacenan imágenes en una aplicación java y se desea después a modo de registro buscar estas y cargarlas en al[...]
Es recomendable tener actualizado la Maquina Virtual Java de nuestro equipo para poder disfrutar de las mejoras que trae[...]