2010-01-12 5 views
1

J'utilise une API Google pour renvoyer certains JSON, que j'ai convertis en types Objective C en utilisant le framework JSON (Stig B - Google Code).Accéder aux tableaux et dictionnaires imbriqués générés par JSON-framework iPhone

J'ai maintenant des structures comme ceci:

responseData 
    results 
     [0] 
      title = "Stack Overflow" 
    cursor 

Comment puis-je accéder au tableau imbriqué results pour obtenir à la valeur title (dictionnaire je devine)?

J'ai essayé, mais sans succès:

for (NSString *key in [jsonObjects objectForKey:@"responseData"]) { 
     NSLog(@"%@",key); 
     for (NSString *element in [key valueForKey:@"results"]) { 
      NSLog(@"%@",element); 
     } 
    } 

La boucle externe imprimera les noms des tableaux results et cursor donc qui fonctionne, mais pour la boucle intérieure, je reçois une erreur not key value coding compliant.

Merci

Répondre

1

Vous pouvez utiliser NSLog([jsonObjects description]) pour voir le contenu et la structure de votre dictionnaire.
Pour parcourir votre tableau « résultats » et son contenu, vous pouvez utiliser les éléments suivants (ou similaire) Code:

NSDictionary* responseDict = [jsonObjects objectForKey:@"responseData"]; // Get your dictionary 
NSArray* resultsArray = [responseDict objectForKey:@"results"]; 
for (NSDictionary* internalDict in resultsArray) 
    for (NSString *key in [internalDict allKeys]) 
     NSLog([NSString stringWithFormat:@"%@ - %@", key, [internalDict objectForKey:key]; 
+0

merci brillant! – joec

Questions connexes