奇怪的错误与正确的JSON流

问题描述:

我有一个小问题,当我试图解析我的JSON流,我通过奇怪的错误与正确的JSON流

if(error) {NSLog(@"%@",error);} 

告诉我这

得到一个错误捕获

2013-04-14 23:53:09.979测试[24463:303]错误域= NSCocoaErrorDomain代码= 3840“数据无法读取,因为它已损坏。”的UserInfo = 0x10042f6c0(约215字符转义的控制字符){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

请显示导致解析错误的代码;另外,你可以在解析之前显示JSON字符串的内容(虽然在其他地方查看时可能没有问题,但重要的是解析时字符串的内容)。 –

+0

确保您使用正确的编码加载JSON。 – rmaddy

+0

@rmaddy我的编码文件是好的,我会用另一个'NSError',@ rick-trap来测试它,我可以打印字符串yes,没有任何pbs,所以我的编码是正确的。 –

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

NSData* data = [NSData dataWithContentsOfURL...] 

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