Ios NSJSONSerialization行为不正常,98%的时间返回数组,其他2%的时间返回dict

Ios NSJSONSerialization行为不正常,98%的时间返回数组,其他2%的时间返回dict,ios,json,nsjsonserialization,Ios,Json,Nsjsonserialization,这真的很奇怪 我们正在访问一个json Twitter API,它总是返回一个数组。 即 我们: if([NSJSONSerialization class]) { NSError *error = nil; jsonResponse = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error]; DLog(@"JSON Parsing

这真的很奇怪

我们正在访问一个json Twitter API,它总是返回一个数组。 即

我们:

if([NSJSONSerialization class]) {
        NSError *error = nil;
        jsonResponse = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error];    
        DLog(@"JSON Parsing Error: %@", error);

    } else {
        NSString * jsonString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
        jsonResponse = [jsonString JSONValue];
    }
    if([jsonResponse count] > 0) {
        NSString *jsonText = [[jsonResponse objectAtIndex:0] objectForKey:@"text"];
        twitterText = jsonText;
    }
这在绝大多数情况下都有效。剩下的,我们得到这个:

[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance
注意,所有错误都在iOS5上,因此SBJSON库不适用


有时NSJSONSerialization将数组解析为dict。坦白说,使用twitter的数据是不可能的。那么这里发生了什么?

也许你收到了来自Twitter的错误回复?如果您得到这种行为,您可以记录JSON数据吗?对-因此测试类If([jsonResponse isMemberOfClass:[NSDictionary class]]),如果这是真的,则记录JSON。