Gson

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Gson
Desarrollador
Google Inc.
https://sites.google.com/site/gson/
Información general
Lanzamiento inicial 22 de mayo de 2008; hace 6 años (2008-05-22) (info)
Última versión estable 2.2.2 (info)
2 de julio de 2012; hace 2 años (2012-07-02)
Género Biblioteca
Programado en Java
Sistema operativo Multiplataforma
Licencia Apache License 2.0.
Estado actual Con soporte
En español No No

Gson (también conocido como Google Gson) es una biblioteca de código abierto para el lenguaje de programación Java que permite la serialización y deserialización entre objetos Java y su representación en notación JSON.

Características[editar]

  • Permite la conversión entre objetos Java y JSON de una manera sencilla, simplemente invocando los métodos toJson() o fromJson().
  • Permite la conversión de objetos inmutables ya existentes.
  • Soporte para tipos genéricos de Java.
  • Permite la representación personalizada de objetos.
  • Soporte para "Objetos arbitrariamente complejos".

Historia[editar]

La biblioteca Gson nació como un proyecto interno de Google para su propio uso. Finalmente se decidió publicarla bajo una licencia Apache License 2.0.

Ejemplo de uso[editar]

De objeto Java a notación JSON[editar]

Partiendo del siguiente JavaBean:

public class Persona implements Serializable {
    private String nombre;
    private int edad;
 
    public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    public int getEdad() {
        return edad;
    }
 
    public void setEdad(int edad) {
        this.edad = edad;
    }
}

Se puede obtener su representación JSON de la siguiente manera:

    Persona persona = new Persona();
    persona.setNombre("Unai");
    persona.setEdad(28);
 
    Gson gson = new Gson();        
    System.out.println(gson.toJson(persona));

Con lo que obtendríamos la salida:

{"nombre":"Unai","edad":28}


De notación JSON a objeto Java[editar]

 
    String json = "{\"nombre\":\"Unai\",\"edad\":28}";
 
    Gson gson = new Gson();
 
    Persona persona = (Persona) gson.fromJson(json, Persona.class);    
 
    System.out.println(persona.getNombre());
    System.out.println(persona.getEdad());

Con lo que obtendríamos la salida:

Unai
28

Enlaces Externos[editar]