10-解析完的数据如何截串

//4.解析数据
   NSString*res = [[NSString alloc] initWithData:dataencoding:NSUTF8StringEncoding];
  [SVProgressHUDshowErrorWithStatus:res maskType:SVProgressHUDMaskTypeBlack];
   NSLog(@"%@",res);

**问题:解析完后出现如下情况,如何让其只显示“用户名不存在”,故用到截串,如下分析
**


1.png

解决:

2.png

3.png

这个方法可以通用,其实就是截取这个中间的字符串

  //4.解析数据
NSString *res = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

 //为什么要+3,因为location是第一个双引号的位置,所以+3后,正好是用户名的“用”字
 NSUInteger loc = [res rangeOfString:@"\":\""].location + 3;
//为什么要-loc,因为要获取截取多少字符,这里的location是最后一个双引号的位置,所以-loc后,正好是要截取的字符串“用户名不存在”的长度
 NSUInteger len = [res rangeOfString:@"\"}"].location - loc;

//截取字符串
 NSString *mag = [res substringWithRange:NSMakeRange(loc, len)];

 if ([res containsString:@"success"]) {

      [SVProgressHUD showSuccessWithStatus:mag maskType:SVProgressHUDMaskTypeBlack];
       }else {

      [SVProgressHUD showErrorWithStatus:mag maskType:SVProgressHUDMaskTypeBlack];
       }
      NSLog(@"%@---%@",res,[NSThread currentThread]);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 一. Java基础部分.................................................
    wy_sure阅读 3,840评论 0 11
  • 今天,本学期最后一节课结束了,下周就是连着3天的考试,然后就是圣诞假期,虽说复习计划挺紧张,但今天还是又被我给拖过...
    Sansdent阅读 184评论 0 0
  • 这座城市,一半人在拼命,一半人在认命;一半人在抢时间,一半人在耗时间;一半人在燃烧青春,一半人在虚度青春。
    晚间一壶茶阅读 144评论 0 0