Gson
qué es Gson
Gson (también conocido como Google Gson) es una biblioteca de código abierto para el lenguaje de programación Java y para Android que permite la conversión entre objetos Java y su representación en notación JSON de una manera sencilla, simplemente invocando los métodos toJson() o fromJson().
Ejemplo de uso: Gson en Wikipedia
Proyecto en GitHub: google-gson
Documentación de Gson: Javadoc
Dependencias en Gradle:
implementation 'com.google.code.gson:gson:2.10.1'
Ejemplo: Lista de contactos usando Gson
contacts.json
{
"contactos": [
{
"nombre": "Angelina Jolie",
"direccion": "calle los remedios, 29007, malaga",
"email": "angie@gmail.com",
"telefono": {
"casa": "952245407",
"movil": "603459530",
"trabajo": "951230246"
}
},
{
"nombre": "Nikole Kidman",
"direccion": "calle hilera, 29010, malaga",
"email": "nikole@gmail.com",
"telefono": {
"casa": "952233407",
"movil": "625459540",
"trabajo": "951230246"
}
},
{
"nombre": "Jennifer Lopez",
"direccion": "calle larios, 29002, malaga",
"email": "jenny@gmail.com",
"telefono": {
"casa": "951065407",
"movil": "628659550",
"trabajo": "952002146"
}
}
]
}
¿clase Persona?
Ayuda:
Persona.java
public class Persona {
@SerializedName("contactos")
@Expose
private List<Contacto> contactos = null;
public List<Contacto> getContactos() { return contactos; }
public void setContactos(List<Contacto> contactos) {
this.contactos = contactos;
}
}
Definir gson y persona en el MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
public static final int CONTACTOS = R.raw.contactos;
public static final int CONTACTS = R.raw.contacts;
private ActivityMainBinding binding;
ArrayList<Contacto> contactos = null;
ContactosAdapter adapter;
String contenido;
// Añadir los objetos necesarios para usar Gson
Gson gson;
Persona persona;
obtenerContactos()
public void obtenerContactos() {
// Inicializar contactos
try {
if (!binding.switch1.isChecked()) {
// Analizar contactos
contenido = leerFicheroRaw(CONTACTOS);
contactos = Analisis.analizarContactos(contenido);
} else {
// usar Gson
}
} catch (JSONException | IOException e) {
//e.printStackTrace();
Log.e("Error: ", e.getMessage());
mostrarMensaje("Error: " + e.getMessage());
}
}


Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.