Consumir JSON en Android

Si el otro día hablaba de crear y consumir JSON en PHP, ahora toca su turno a Android.

¿Por qué usar JSON? Bueno, es un formato de intercambio de datos independiente de cualquier lenguaje y autodefinido. Ok, XML también, pero JSON es más ligero y fácil de parsear.

Existen varias librerías para JSON en Android, pero en el ejemplo usaremos los métodos nativos del SDK: las clases JSONArray y JSONObject.

JSONArray necesita recibir una cadena JSON para devolvernos un array de JSONObject. Supongamos que hemos recibido esos datos (sea de un web service o de un archivo) y los tenemos en una variable llamada data:

JSONArray jsArray = new JSONArray(data);

Ahora ya tenemos los datos dentro de un JSONArray. ¿Cómo lo recorremos? Pues con un for:

for (int i = 0; i < jsArray.length(); i++) {
    JSONObject jsObject = jsArray.getJSONObject(i);
    
    int intejemplo = jsObject.getInt(atributo1);
    String stringejemplo = jsObject.getString(atributo2);
}

El problema es que trabajar así puede ser muy plomífero, tratando los datos a mano, uno a uno. Existen librerías que te pueden echar un cable en esto, dándote mayores funcionalidades. En este caso las dos más populares son GSon y Jackson. En los enlaces podrás ver documentación sobre su uso.

El saber manipular JSON se torna capital cuando quieres trabajar con servicios web, o para comunicar apps con widgets.

Anuncios

2 comentarios en “Consumir JSON en Android

  1. Mhyst

    Yo he usado esa librería y no es tan plomo como dices. Cada estructura json se crea como un objeto de java. La verdad es que el json es de obligado uso ultimamente, con la proliferación del uso de ajax.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s