我正在尝试解析以下JSON响应:http://www.breakingnews.com/api/v5/items?compact=false。
这是我解析它的代码:
NSError* error = nil;
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.breakingnews.com/api/v5/items?compact=false"] options:NSDataReadingUncached error:&error];
if (error) {
NSLog(@"%@", [error localizedDescription]);
} else {
NSError *e = nil;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options:kNilOptions error: &e];
if (!jsonArray) {
NSLog(@"Error parsing JSON: %@", e);
} else {
for(NSArray* item in jsonArray) {
NSLog(@"Item: %@", item);
}
}
}
但是,我收到了这个错误:
- [__ NSCFString objectAtIndex:]:无法识别的选择器发送到实例0x101810a40
为什么 - 我做错了什么?
答案 0 :(得分:2)
检查您正在使用的对象的类型。您假设所有内容都是NSArray
,而实际上JSON中的内容可以是NSArray
,NSDictionary
,NSString
,NSNumber
和{{1 }}