2011-01-18 3 views
0

J'essaie de créer une application google reader. Je suis en mesure d'obtenir la liste des abonnés au format JSON comme ceci:Analyse JSON pour obtenir des informations sur l'étiquette Google Reader

{"subscriptions":[{"id":"feed/http://aspn.activestate.com/ASPN/Cookbook/Python/index_rss","title":"ActiveState Code: Python recipes","categories":[{"id":"user/014533032765194560dwd0/label/Programming","label":"Programming"}],"sortid":"E6312EFB","firstitemmsec":"1258141669516","htmlUrl":"http://code.activestate.com/recipes/langs/python/"}, 

Je suis intéressé à obtenir la valeur de l'étiquette (dans le cas ci-dessus « Programmation ») dans un tableau. Voici mon code actuel:

-(BOOL)parsedSuccess { 
    SBJsonParser *parser = [[SBJsonParser alloc]init]; 
    if (!receivedData) { 
     [self getSubscriptionList:GOOGLE_READER_SUBSCRIPTION_LIST]; 

    } 
    NSMutableString *body = [[NSMutableString alloc]initWithData:receivedData encoding:NSUTF8StringEncoding]; 

    if (body) { 
     NSArray *feeds = [parser objectWithString:body error:nil]; 
     NSDictionary *results = [body JSONValue]; 
     NSArray *subs = [results valueForKey:@"subscriptions"]; 
     NSString *subTitles; 

     for (NSDictionary *title in subs){ 
      subTitles = [title objectForKey:@"categories"]; 
       NSLog(@"%@",subTitles); 
     } 

    } 
    return YES; 
} 

Quelqu'un peut-il m'aider à obtenir les valeurs de l'étiquette?

+0

Votre code semble bien ce qui semble être le problème – Robin

+0

En fait, je voulais obtenir un niveau plus profond ... après les catégories dont j'avais besoin pour accéder à l'étiquette :) – iSee

Répondre

1
[[[[[result valueforkey:@"subscription"]objectatindex:0]valueforkey:@"categories"]objectatindex:intvalue]valueforkey:@"label"]; 

J'ai juste contribué à faire de la logique. Assurez-vous de vérifier les fautes d'orthographe avant d'implémenter.

+0

Merci pour l'exemple :) – iSee