2011-03-14 59 views
1

解析JSON響應後,我得到一個包含其他字典這是值事先不知道某些鍵(308,1)一個NSDictionary:JSON和嵌套的NSDictionary

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

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

如何在這裏使用valueForKey因爲我不知道鑰匙?如何訪問嵌套字典?謝謝!

回答

5
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

有幾種方法可以遍歷NSDictionary。其中之一:

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

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

看「枚舉詞典」中NSDictionary Class Reference更多的備選段。

+0

謝謝。這很有幫助 – 2011-03-14 12:26:11