0 votes

Désérialiser un objet à partir d'un NSDictionary depuis TouchJSON ?

Je ne semble pas trouver comment obtenir un dictionnaire représentant un objet à partir du dictionnaire que retourne TouchJSON.

Par exemple :

Si j'utilise le JSON dans le format ici :

http://search.twitter.com/search.json?q=hello

Comment puis-je obtenir un tweet avec l' "id" = x sans devoir extraire tous les tweets dans un tableau en utilisant une instruction "for" ?

par exemple, sans avoir à faire ceci... puisque je connais l' "id" (clé JSON, plutôt que l'index) de l'objet que je veux accéder

NSArray *tweetsArray = [resultsDictionary objectForKey:@"results"];
 for (NSDictionary *tweetDictionary in tweetsArray) {
     NSString *tweetText = [tweetDictionary objectForKey:@"text"];
     [tweets addObject:tweetText];

 }

1voto

tonklon Points 5687

Vous pouvez utiliser NSPredicate pour filtrer le tableau de tweets comme ceci :

NSArray *tweetsArray = [resultsDictionary objectForKey:@"results"];
NSArray* filtered = [test filteredArrayUsingPredicate:
                          [NSPredicate predicateWithFormat:@"id = %@",@"456"]];

NSDictionary* tweet = [filtered lastObject];

0voto

Girish Kolari Points 1599

Pourquoi ne filtrez-vous pas la condition id=x lorsque vous analysez le JSON. Cela garantira que vous parcouriez les données JSON une seule fois.

Cette solution ne peut être meilleure que si vous devez accéder au JSON uniquement pour la condition id=x.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X