Ios NSJSONSerialization行为不正常,98%的时间返回数组,其他2%的时间返回dict
这真的很奇怪 我们正在访问一个json Twitter API,它总是返回一个数组。 即 我们: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
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。