Semplice esempio JSON

Proprio oggi mi trovavo a dover leggere un contenuto web attraverso JSON e dato che alla fine il procedimento è davvero molto semplice, ma per arrivarci ci ho messo un po’, forse una piccola sintesi potrà aiutare qualcun altro…
Naturalmente darò per scontato che sappiate creare una semplice app di test e verrò direttamente al dunque.

1. La lettura dalla stringa JSON
Per poter accedere ad un contenuto JSON basta scrivere queste semplici istruzioni

NSURL *yourURL = [[NSURLalloc] initWithString:@"http://www.paginaqualsiasi.json"];
NSData *risultato = [NSData dataWithContentsOfURL:yourURL];

A questo punto nell’NSData chiamato “risultato” c’è una incomprensibile stringa fatta di graffe, quadre, nomi e contenuti, la quale avrebbe davvero bisogno di qualcuno che se la parseggi al posto nostro… che per fortuna c’è! L’istruzione è semplicemente questa:

NSError *e = nil;
arrayPosts = [NSJSONSerializationJSONObjectWithData:risultato options: NSJSONReadingMutableContainerserror: &e];

L’array conterrà a questo punto una serie di NSDictionary che a loro volta corrispondono al parsing di ogni oggetto JSON contenuto nella pagina…

2. La lettura degli oggetti JSON
Una volta che l’array è nelle nostre mani il gioco è fatto. Se conoscete la struttura del JSON non dovete far altro che interrogarlo come un normale array, accedendo ai valori dei dictionary usando i nomi delle entità JSON. Se non conoscete la struttura esatta invece potete ricorrere ad un artificio:

//Lettura del primo valore
if (!arrayPosts) {
NSLog(@"Error parsing JSON: %@", e);
}
else {
NSDictionary *primoElemento = [arrayPosts objectAtIndex:0];
NSLog(@"Item 1: %@", primoElemento);
}

In questo modo nel log troverete la struttura del primo elemento e potrete usarla come riferimento per gli elementi del Dictionary da leggere.

È tutto! 🙂