网络请求

网络请求

920 发布: 2022/3/28 15:50 本文总阅读量

前言

服务端开发开启debug接口返回数据会携带<br...等日志信息影响iOS数据解析,使用AFNetWorking直接触发fail,使用系统原生网络请求可自行做截取处理

原生网络请求截取

... 
...

if (!dict) {
    NSString* br_jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"出现非标准Json:%@",br_jsonStr);
    if ([br_jsonStr containsString:@"{\"ret\""]) {
        NSRange rangeRes = [br_jsonStr rangeOfString:@"{"];
        //NSLog(@"xxxxx:%lu",(unsigned long)rangeRes.location);
        NSString *newStr = [br_jsonStr substringFromIndex:rangeRes.location];
        NSData *newData = [newStr dataUsingEncoding:NSUTF8StringEncoding];
        dict = [NSJSONSerialization JSONObjectWithData:newData options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"发生截取:%@\n%@\n",url,newStr);
    }
}