Gson
| Gson | ||
|---|---|---|
| Información general | ||
| Tipo de programa | Biblioteca | |
| Desarrollador | Google Inc. | |
| Lanzamiento inicial | 22 de mayo de 2008 (18 años y 16 días) | |
| Licencia | Apache License 2.0. | |
| Estado actual | Con soporte | |
| Información técnica | ||
| Programado en | Java | |
| Versiones | ||
| Última versión estable | 2.8.1 (info) (30 de mayo de 2017 (9 años y 8 días)) | |
| Archivos legibles | ||
| JavaScript Object Notation | ||
| Enlaces | ||
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
- Permite la conversión entre objetos Java y JSON de una manera sencilla, simplemente invocando los métodos
toJson()ofromJson(). - 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
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
De objeto Java a notación JSON
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
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
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.