¿Que es GSON?
Es una excelente librería creado por Google para simplificar la manipulación y tratamiento de archivos en formatos en JSON (Notación de Objetos de JavaScript) usado mayormente para intercambio de información en APIS o Web Services entre aplicaciones.
Y asi podemos crear proyecto móviles en Android con mucha agilidad y con esta librería ahorraríamos tiempos y costos en cualquier proyecto que abordemos como desarrolladores para manipular un formato de archivo en JSON.
Lo cual podemos serializar y desarializar objetos en formatos JSON con mucha facilidad y precisión. Y usa una licencia open source que es Apache 2.0.
Agregar la librería a nuestro Proyecto
Agregar en el archivo build.gradle de nuestro modulo del proyecto.
implementation 'com.google.code.gson:gson:2.8.6'
Veamos un Ejemplo
Creamos un archivo con el nombre Persona.java y tendra una clase con los atributos que tendrá nuestro JSON.
package com.xenosbit.testingmovil;
public class Persona {
private String nombre;
private String apellido;
private int edad;
private String trabajo;
private String pais;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getTrabajo() {
return trabajo;
}
public void setTrabajo(String trabajo) {
this.trabajo = trabajo;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
}
Ahora nuestro archivo principal NuevoActivity.java tendrá el código sgte:
package com.xenosbit.testingmovil;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import com.google.gson.Gson;
import java.util.List;
public class NuevoActivity extends AppCompatActivity {
String data = "{ \"nombre\":\"Roger\", \"apellido\":\"Natividad\", \"edad\":30, \"trabajo\":\"Tecnologica\", \"pais\":\"Peru\" }";
// creamos un objeto con la instancia de Gson
Gson gson = new Gson();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String json = data;
// Creamos una lista con la clase Persona creada
// usamo el metodo fromJson
List<Persona> personaList = (List<Persona>) gson.fromJson(data, Persona.class);
personaList.get(1);
}
}
Como vimos utilizar esta librería Gson nos puede simplificar muchas lineas de código y tiempo para aumentar nuestra productividad.
nota
Agregue un comentario