2010-04-25 16 views
0

j'ai suivi le grand tutoriel sur (iPhone, json and Flickr API et j'ai réussi à accéder à l'information JSON analysable très bien.accès JSON analysable sur l'iPhone SDK

Maintenant, je suis en train de faire la même chose avec le API Twitter, et je suis en mesure d'obtenir l'information JSON et l'analyser, mais je ne peux pas y accéder comme sur Flickr

J'ai remarqué que l'information json qui est récupérée sur Twitter est un peu différente de Flickr.

L'info Flickr de json commence directement avec un accolade ({), wh ile le Twitter json info commence par un crochet, puis un accolades ([{). Je comprends que cela signifie que c'est un tableau à l'intérieur de l'info json, mais je ne sais pas comment y accéder.

Dans l'exemple Flickr, j'accéder aux objets comme si (la deuxième ligne prend le nombre de pages Flickr a rapporté):

NSDictionary *results = [jsonString JSONValue]; 
pagesString = [[results objectForKey:@"photos"] objectForKey:@"pages"]; 

mais je ne peux pas sembler accéder à la réponse Twitter dans le même façon ...

Quelqu'un connaît une solution?

(ici est un exemple de la réponse Twitter JSON: api.twitter.com/1/statuses/public_timeline.json)

Merci un bouquet!

Répondre

3

Avez-vous essayé:

NSArray *results = [jsonString JSONValue]; 
NSDictionary *first = [results objectAtIndex:0]; 
NSLog(@"screen name = %@", [first objectForKey:@"screen_name"]); 

etc?

+0

Cela a fait l'affaire. Merci beaucoup, Paul! (j'ai essayé de voter votre réponse, mais j'ai besoin de plus de réputation) –

+0

J'ai un fichier json son démarrage n'est pas '{' ou '[' il commence par'jsont '. Comment puis-je utiliser ce format json. http://ntp-a1.nict.go.jp/cgi-bin/jsont?1232963971.248 jsont ({ "id": "ntp-a1.nict.go.jp", "it": 1232963971.248, " st ": 1344241456.129, " saut ": 34, " suivant ": 1341100800, " étape ": 1 }) –

+0

Le préfixe de chaîne rend mauvais JSON. Je suggère de le lire en chaîne, en enlevant le préfixe, puis en procédant comme ci-dessus. –