带有正确JSON流的iOS SDK中存在奇怪错误

时间:2013-04-14 22:06:02

标签: ios json parsing

我有一点问题,当我尝试解析我的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;

}

1 个答案:

答案 0 :(得分:0)

JSON不必是UTF-8。如果JSON数据是UTF-16或UTF-32,那么将其转换为NSString的尝试将非常错误。尝试

NSData* data = [NSData dataWithContentsOfURL...]

并将数据直接传递给JSONObjectWithData。 BTW。 “无法连接到服务器”是链接给我的。