1.解析JSon數(shù)據(jù)格式出錯(cuò)的問(wèn)題
unescaped control character around character XXXX
和 The data couldn’t be read because it isn’t in the correct format.
Error的錯(cuò)誤碼為3840
出現(xiàn)這種情況時(shí)召耘,一般是json數(shù)據(jù)中的不規(guī)范造成的百炬,json數(shù)據(jù)中也許有轉(zhuǎn)義字符的出現(xiàn)導(dǎo)致了這種情況,如有/t/n/0等出現(xiàn)
數(shù)據(jù)不太規(guī)范解決方法:1.后臺(tái)修改數(shù)據(jù)
2.自己項(xiàng)目中判斷數(shù)據(jù)污它,就拿AFNetWorking這個(gè)庫(kù)下載數(shù)據(jù)時(shí)的情況來(lái)說(shuō)
//下載需要搜索的數(shù)據(jù)
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數(shù)據(jù)解析成為字符串形式剖踊,判斷數(shù)據(jù)中是否含有這些轉(zhuǎn)義字符庶弃,含有的話(huà)用空字符串替換掉,再把字符串轉(zhuǎn)換為NSData類(lèi)型的數(shù)據(jù)德澈,然后進(jìn)行解析為JSon數(shù)據(jù)歇攻。