• JSON解析--原生&AFN


     1 #pragma mark 原生加载JSON
     2 - (void)loadJSON
     3 {
     4     // 1. NSURL
     5     NSURL *url = [NSURL URLWithString:@""];
     6     
     7     // 2. NSURLRequest
     8     NSURLRequest *request = [NSURLRequest requestWithURL:url];
     9     
    10     // 3. NSURLConnection
    11     [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
    12         
    13         if (connectionError != nil) {
    14             NSLog(@"%@", connectionError.localizedDescription);
    15         } else {
    16             NSError *error = nil;
    17             
    18             NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
    19             
    20             if (error != nil) {
    21                 NSLog(@"%@", error.localizedDescription);
    22             } else {
    23                 NSLog(@"%@", array);
    24             }
    25         }
    26     }];
    27 }
    28 #pragma mark AFN加载JSON
    29 - (void)loadJSON
    30 {
    31     // 1. NSURLRequest
    32     NSURLRequest *request = [_httpClient requestWithMethod:@"GET" path:@"videos.php?format=json" parameters:nil];
    33     
    34     // 2. 连接
    35     AFJSONRequestOperation *op = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSArray *JSON) {
    36         
    37         // 成功之后,直接使用反序列化出来的结果即可。
    38         NSLog(@"%@", JSON);
    39     } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
    40         // 1> 网络访问获取数据出错
    41         // 2> JSON的反序列化出错
    42         
    43         NSLog(@"%@ %@", error, JSON);
    44     }];
    45     
    46     // 3. 将操作添加到队列或者start,操作就会启动
    47     // 3.1 将操作添加到队列,开始多线程操作
    48     [_httpClient.operationQueue addOperation:op];
    49 //  [op start];
    50 }
  • 相关阅读:
    Markdown文档示例
    Python网络编程(一)
    JS之客户端检测
    MySQL 多表查询
    MySQL 单表查询
    MySQL 入门
    Python内置方法大全
    010 盒模型
    009 CSS选择器
    008 常用样式
  • 原文地址:https://www.cnblogs.com/orzmj123/p/3500552.html
Copyright © 2020-2023  润新知