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.