iOS解析数据时Error=3840

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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数据。

以上是关于iOS解析数据时Error=3840的主要内容,如果未能解决你的问题,请参考以下文章

JSON 解析错误:Error Domain=NSCocoaErrorDomain Code=3840 “操作无法完成。(Cocoa 错误 3840。)

iOS swift 中的错误域 = NSCocoaErrorDomain 代码 = 3840?

尝试在 Xcode NSCocoaErrorDomain Code=3840 中解析 JSON

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

NSJsonSerialzation 未解析来自 Facebook 的结果 - Cocoa 错误 3840 [重复]

解析 JSON 响应时出错 Cocoa 错误 3840