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.