使用JSONValue获取JSON内容时出现问题

时间:2010-12-19 20:59:20

标签: iphone objective-c json

我使用objective-c json框架解析灯塔api中的一些json - http://stig.github.com/json-framework/

我之前使用过该框架与其他api没有任何问题,虽然我试图使用JSONValue从灯塔api中获取结果时似乎已经走到了尽头。

似乎错误地返回了值:

NSArray *results = [json_string JSONValue];

for (NSDictionary *project in results){
    NSLog(@"project found");
}

这个循环只运行一次,虽然我知道至少有7个对象可以在JSON字符串中进行迭代。 project也被设置为字符串而不是NSDictionary,我知道这是因为在项目上调用objectForKey会导致错误。

[NSCFString objectForKey:]: unrecognized selector sent to instance 

我在这里很难过,希望这不是从灯塔api返回的字符串的问题,我只是试图弄错内容,我的json字符串在这里:http://pastie.org/1390233

1 个答案:

答案 0 :(得分:5)

解析器的行为是正确的。字典results仅包含1个名为projects的密钥,该密钥是一个数组。要遍历每个单独的项目,您需要枚举此projects属性。

NSArray *projects = [results objectForKey:@"projects"];

for(NSDictionary *item in projects) {
    NSDictionary *project = [item objectForKey:@"project"];
    // now project should have the desired keys
}