Ios 针对Twitter API搜索请求的NSJSONSerialization

Ios 针对Twitter API搜索请求的NSJSONSerialization,ios,objective-c,twitter,nsjsonserialization,Ios,Objective C,Twitter,Nsjsonserialization,我一直在尝试使用NSJSONSerialization来解析查询结果,让twitter搜索工作正常。我最初使用了一个关于使用SLRequest访问Twitter数据的教程,但我发现在这样做时,我需要结果来更新属性以保存它们。我希望抓取是一个类方法,所以我避免使用属性。我遇到的问题有点奇怪,我不知道为什么会发生。基本上,我可以使用[NSJSONSerialization JSONObjectWithData:…]可靠地获取数据——除了字典中的一个key:value对之外,结果是。键“results

我一直在尝试使用NSJSONSerialization来解析查询结果,让twitter搜索工作正常。我最初使用了一个关于使用SLRequest访问Twitter数据的教程,但我发现在这样做时,我需要结果来更新属性以保存它们。我希望抓取是一个类方法,所以我避免使用属性。我遇到的问题有点奇怪,我不知道为什么会发生。基本上,我可以使用[NSJSONSerialization JSONObjectWithData:…]可靠地获取数据——除了字典中的一个key:value对之外,结果是。键“results”的值返回为(),类型为uu NSArrayM。我可以看到我发送来获取数据的URL是正确的,并且解析字典中的其余信息是正确的。我不知道为什么会发生这种情况

下面是一个GET请求示例:

如果转到该页面,您可以看到“results”键有一个与之关联的值,它应该是一个数组。但是,在我的解析版本中,我有一个空数组:

fetchResults = {
"completed_in" = "0.045";
"max_id" = 309208532929101825;
"max_id_str" = 309208532929101825;
page = 1;
query = "tech%2520filter%253Alinks%2520lang%253Aen";
"refresh_url" = "?since_id=309208532929101825&q=tech%2520filter%253Alinks%2520lang%253Aen&include_entities=1";
results = (
);
"results_per_page" = 1;
"since_id" = 0;
"since_id_str" = 0;
}
是否有可能发生这种情况的原因?我在下面输入了JSON解析的代码

+(NSArray *)fetchTweetsForSearchContent:(NSString *)searchContent
{
    NSString *requestURL = [[TwitterFetcherrequestURLWithSearchContent:searchContent] absoluteString];

    NSLog(@"URL: %@",requestURL);
    NSString *query = [requestURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSData *jsonData = [[NSStringstringWithContentsOfURL:[NSURLURLWithString:query] encoding:NSUTF8StringEncodingerror:nil] dataUsingEncoding:NSUTF8StringEncoding];
    NSError *error = nil;

    NSDictionary *fetchResults = jsonData ? [NSJSONSerializationJSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaveserror:&error] : nil;

    if (error) NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([selfclass]), NSStringFromSelector(_cmd), error.localizedDescription);
    NSLog(@"%@", fetchResults);
    return [fetchResults objectForKey:@"results"];
}
尝试这样做可能会有所帮助,并用您从服务器获得的响应数据替换“responseData”

NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:responseData  options:kNilOptions error:nil];