【问题标题】:JSON and nested NSDictionaryJSON 和嵌套的 NSDictionary
【发布时间】:2011-03-14 09:15:15
【问题描述】:

解析 JSON 响应后,我得到一个包含其他字典的 NSDictionary,这些字典是一些事先不知道的键的值 (308, 1):

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

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

由于我不知道密钥,我如何在这里使用 valueForKey?如何访问嵌套字典?谢谢!

【问题讨论】:

    标签: objective-c json parsing nsdictionary


    【解决方案1】:
    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
           ...
       }
    }
    

    【讨论】:

      【解决方案2】:

      有几种方法可以遍历NSDictionary。其中之一:

      NSEnumerator *enumerator = [myDictionary objectEnumerator];
      id value;
      
      while ((value = [enumerator nextObject])) {
          /* do something with value */
      }
      

      查看NSDictionary Class Reference 中的“枚举字典”部分了解更多替代方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-30
        • 1970-01-01
        • 1970-01-01
        • 2014-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多