zoukankan      html  css  js  c++  java
  • 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:@" " withString:@""];

            str2 = [str2 stringByReplacingOccurrencesOfString:@" " withString:@""];

            str2 = [str2 stringByReplacingOccurrencesOfString:@" " withString:@""];

            

            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str2 dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil];

    把解析得到的 NSData数据解析成为字符串形式,判断数据中是否含有这些转义字符,含有的话用空字符串替换掉,再把字符串转换为NSData类型的数据,然后进行解析为JSon数据。

  • 相关阅读:
    我的第一篇博客/markdown
    iOS开发编码建议与编程经验
    iOS 知识点梳理
    Objective-C中类和对象的介绍
    Linux虚拟机部署单机solr报错500解决方法之一
    day02:三元运算、布林非、列表等(20170214)
    day01:判断与循环(20170213)
    前端面试题大全2
    前端面试题大全
    [js] charAt()、charCodeAt()、fromCharCode()
  • 原文地址:https://www.cnblogs.com/MasterPeng/p/5156729.html
Copyright © 2011-2022 走看看