代码解析练习

通过网站http://tool.oschina.net/codeformat/json 将后台给我们的代码进行解析,得到格式化JSON;然后分析过程得到我们想要的;

//先找到文件路径
NSString *path = @"/Users/dlios/Desktop/......./movielist.txt";
//再将其转化为NSData对象
 NSData *data = [NSData dataWithContentsOfFile:path];
 NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@",dic);
//根据我们看到的格式化JSON分析过程,类似于之前的字典
//例如找到电影名
    NSMutableArray *arr = dic[@"result"];
    NSLog(@"%@",arr);
    NSMutableDictionary *movieDic = arr[0];
    NSLog(@"%@",movieDic);
    NSString *str = movieDic[@"movieName"];
    NSLog(@"%@",str);
    //或者使用直接单句话的方法
     NSString *movieName = dic [@"result"][1][@"movieName"];
     NSLog(@"%@",movieName);
     //找赵雷
    NSMutableArray *arr = dic[@"events"];
    NSDictionary * dic0 = arr[2];
    NSMutableDictionary *dic00 = dic0[@"owner"];
    NSLog(@"%@",dic00[@"name"]);    
    //或者
    NSString *str = dic[@"events"][2][@"owner"][@"name"];
    NSLog(@"%@",str);
//找时间
    NSString *time1 = dic[@"events"][2][@"begin_time"];
    NSString *time2 = dic[@"events"][2][@"end_time"];
    NSString *time3 = [time2 substringFromIndex:11];
    NSLog(@"%@",time3);
    NSString *time4 = [time1 stringByAppendingString:@"-"];
    NSString *time5 = [time4 stringByAppendingString:time3];
    NSString *time5 = [time1 stringByAppendingFormat:@" - %@",time3];
    NSLog(@"%@",time5);
   // 先找开始时间
    NSString *beginTime=dic[@"events"][2][@"begin_time"];
    //结束时间
    NSString *endTime=dic[@"events"][2][@"end_time"];
    // 截取
    NSString *newEnd=[beginTime substringFromIndex:10];
    NSString *newTime=[NSString stringWithFormat:@"%@ - %@",newTime,newEnd];
   NSLog(@"%@",newTime);
    // 找到film类型的有多少个
   NSInteger num=0;
   for (NSMutableDictionary *temp in arr) {
       if ([temp [@"category"]isEqualToString:@"film"]) {
          num++;
       }
   }
       NSLog(@"%ld",num);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值