9.0banb以前和9.0以后版本后JSON解析

 //9.0以前的老方法:同步请求、异步请求

    

    //1.获取访问路径

    NSString *path=@"http://1.studyios.sinaapp.com/getAllClass.php";

    //2.封装URL

    NSURL *url=[NSURL URLWithString:path];

    //3.创建请求命令

    NSURLRequest *request=[NSURLRequest requestWithURL:url];

    //4.响应的对象

    __autoreleasing NSURLResponse *response;

    //5.错误信息

    __autoreleasing NSError *err;

    //6.通过同步请求的方式 返回data对象

    NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];

    //7.json解析

    NSArray *arrJson=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&err];

    NSLog(@"%@",arrJson);

     

    

    //9.0以后

    //1.获取访问路径

    NSString *path=@"http://1.studyios.sinaapp.com/getAllClass.php";

    //2.封装URL

    NSURL *url=[NSURL URLWithString:path];

    //3.创建请求命令

    NSURLRequest *request=[NSURLRequest requestWithURL:url];

    //4.创建会话对象   通过单例方法实现的

    NSURLSession *session=[NSURLSession sharedSession];

    //5。实行回话任务 通过request请求  获取data对象

    NSURLSessionDataTask *task=[session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

       //6、json 解析

        NSArray *arrJson=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];

        NSLog(@"%@",arrJson);

    }];

//    7、真正的执行任务

    [task resume];

   

 

}

 

posted @ 2016-03-24 21:46  火候  阅读(168)  评论(0编辑  收藏  举报