1.解析JSon數據格式出錯的問題
unescaped control character around character XXXX
和 The data couldn’t be read because it isn’t in the correct format.
Error的錯誤碼為3840
出現這種情況時,一般是json數據中的不規范造成的,json數據中也許有轉義字符的出現導致了這種情況,如有/t/n/0等出現
數據不太規范解決方法:1.后台修改數據
2.自己項目中判斷數據,就拿AFNetWorking這個庫下載數據時的情況來說
//下載需要搜索的數據
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager GET:urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString * str = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding];
NSString * str2 = [str stringByReplacingOccurrencesOfString:@"\t" withString:@""];
str2 = [str2 stringByReplacingOccurrencesOfString:@"\n" withString:@""];
str2 = [str2 stringByReplacingOccurrencesOfString:@"\r" withString:@""];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str2 dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil];
把解析得到的 NSData數據解析成為字符串形式,判斷數據中是否含有這些轉義字符,含有的話用空字符串替換掉,再把字符串轉換為NSData類型的數據,然后進行解析為JSon數據。