0

我正在使用 flickr,在示例获取中我得到了这个:

{
    "api_key" =     {
        "_content" = 3c6eeeae4711a5f478d3da796750e06b;
    };
    format =     {
        "_content" = json;
    };
    method =     {
        "_content" = "flickr.test.echo";
    };
    nojsoncallback =     {
        "_content" = 1;
    };
    stat = ok;
}

这是一个包含 5 个条目(api_key、format、method、nojsoncallback 和 stat)的字典。前 4 个整体本身就是字典。

首先,我的原始字典中有第 5 个元素,它不是字典,它只是原始字典中的最后一个条目(一个 stat=ok)。此外,我希望每个子条目中的 _content 键出现在我的单个单元格中,但我不想硬编码任何值。我必须设置一个数组吗?

4

2 回答 2

4

NSDictionary有一个漂亮的小方法叫做valueForKeyPath. 这就是你的救星。

[dict valueForKeyPath:@"api_key._content"]
[dict valueForKeyPath:@"format._content"]
[dict valueForKeyPath:@"method._content"]
[dict valueForKeyPath:@"nojsoncallback._content"]

它所做的是遍历键路径并获取content每个 JSON 子结构中的值。否则,您将不得不编写一个for-loop并循环遍历它。整齐吧?

于 2013-04-16T04:11:32.620 回答
2

尝试这个

for (NSString *key in dictionary){
    id object = dictionary[key];
    if ([object isKindOfClass:[NSDictionary class]]) {
    //Now you can work on the dictionary object
    }
}
于 2013-04-16T04:11:41.597 回答