iOS解析數據時Error=3840


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數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM