JSON и вложенный NSDictionary - PullRequest
       17

JSON и вложенный NSDictionary

1 голос
/ 14 марта 2011

После анализа ответа JSON я получаю NSDictionary, содержащий другие словари, которые являются значениями для некоторых ключей, которые неизвестны заранее (308, 1):

{
"308":{
    "id":"308",
    .....

},
"1":{
    "id":"1",
    .....
     }
}

Как использовать здесь valueForKey, так как яне знаете ключи?Как получить доступ к вложенным словарям?Спасибо!

Ответы [ 2 ]

5 голосов
/ 14 марта 2011
NSDictionary *myDict;
...

NSArray *keys = [myDict allKeys]; //NSArray of dictionary's keys

for (id key in keys) //'foreach' loop for all keys
{
   id aValue = [myDict objectForKey: key]; //getting object from the dictionary
   if([aValue isKindOfClass:[NSDictionary class]])
   {
       //Object is a nested dictionary
       ...
   }
}
1 голос
/ 14 марта 2011

Существует несколько способов итерации по NSDictionary.Один из них:

NSEnumerator *enumerator = [myDictionary objectEnumerator];
id value;

while ((value = [enumerator nextObject])) {
    /* do something with value */
}

Смотрите раздел «Перечисление словарей» в Ссылка на класс NSDictionary , чтобы узнать больше альтернатив.

...