JSON 和嵌套的 NSDictionary

Posted

技术标签:

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

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


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

,
"1":
    "id":"1",
    .....
     

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

【问题讨论】:

【参考方案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 中的“枚举字典”部分了解更多替代方案。

【讨论】:

以上是关于JSON 和嵌套的 NSDictionary的主要内容,如果未能解决你的问题,请参考以下文章

JSON 和嵌套的 NSDictionary

使用 Postman 发送(嵌套)json 对象和文件

组合和嵌套 JSON 对象

MySQL 嵌套 JSON 列搜索和提取子 JSON

嵌套数组和 JSON 的问题

如何使用 Alamofire 和 SwiftyJSON 访问嵌套的 JSON 值?