我有一点问题,当我尝试解析我的JSON流时,我收到了错误
if(error) {NSLog(@"%@",error);}
告诉我这个
2013-04-14 23:53:09.979测试[24463:303]错误域= NSCocoaErrorDomain Code = 3840“无法读取数据,因为它已损坏。” (字符215周围未转义的控制字符。)UserInfo = 0x10042f6c0 {NSDebugDescription =字符215周围未转义的控制字符。}
问题是我的JSON流似乎很完美,你可以在这里找到它:http://api.kalokod.com/cce/news.json,完美'coz JSONLint返回此JSON有效。
有什么想法吗?谢谢!
编辑
这是我的解析器
- (NSDictionary *)JSONParser:(NSString *)JSONFile {
NSError *jsonParserError;
NSURL *myJSONfileURL = [NSURL URLWithString:JSONFile];
NSString *myJSONstring = [NSString stringWithContentsOfURL:myJSONfileURL encoding:NSUTF8StringEncoding error:&jsonParserError];
if (jsonParserError) {
NSLog(@"%@", jsonParserError);
}
NSData *jsonData = [myJSONstring dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSDictionary *JSONParser = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
if (error) {
NSLog(@"%@", error);
}
return JSONParser;
}
答案 0 :(得分:0)
JSON不必是UTF-8。如果JSON数据是UTF-16或UTF-32,那么将其转换为NSString的尝试将非常错误。尝试
NSData* data = [NSData dataWithContentsOfURL...]
并将数据直接传递给JSONObjectWithData。 BTW。 “无法连接到服务器”是链接给我的。