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.