iOS解析数据时Error=3840

本文介绍了如何解决JSON解析过程中出现的未转义控制字符错误,提供了具体的代码示例来处理不规范的JSON数据,通过去除转义字符确保数据正确解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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数据。

转载于:https://www.cnblogs.com/MasterPeng/p/5156729.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值