我使用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
答案 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
}