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!!!
La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, e[...]
Entre los correos y mensajes en facebook y whatsapp que me llegan (y de entrada pido perdón a quienes no puedo responder[...]
La siguiente clase reproduce sonidos WAV en controles Swing de Java Netbeans, los controles son pasados en el constructo[...]
Operador de Complemento bit a bit unario Entre los operadores a nivel de bits de uso más común en java tenemos al operad[...]
Problema: Se extrae registros de una base de datos y se desea mostrar estos en un control JTable utilizando un DefaultTa[...]
Tenia un problema, me pasaron unos archivos excel con unos cientos de registros (ver imagen más abajo) que exportaron de[...]