通过JSON的形式请求后台数据

直接上代码
1、方式1

// 方式1
- (void)test1
{
    
    //传入的参数
    NSDictionary *parameterDic = @{@"username":@"18514531833",@"password":@"asdasd",@"code":@"9999"};
    //你的接口地址
    NSString *url=@"http://sanbox.api.xianjindai.rongba.com:8000/passport/login";
    
    
    
    AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
    
    
    NSMutableURLRequest *request = [serializer requestWithMethod:@"POST" URLString:url parameters:parameterDic error:nil];
    [NSURLConnection sendAsynchronousRequest: request
                                       queue: [NSOperationQueue mainQueue]
                           completionHandler: ^(NSURLResponse *response, NSData *data, NSError *error){
                               if (error) {
                                   NSLog(@"Httperror: %@%ld", error.localizedDescription, error.code);
                               } else {
                                   NSInteger responseCode = [(NSHTTPURLResponse *)response statusCode];
                                   NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                                   NSLog(@"HttpResponseCode:%ld", responseCode);
                                   NSLog(@"HttpResponseBody %@",responseString);
                                   NSJSONSerialization *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
                                   NSDictionary *dicjson = (NSDictionary *)json;
                                   NSLog(@"%@",dicjson);
                                   dispatch_async(dispatch_get_main_queue(), ^{
                                       //刷新UI
                                   });
                                   
                               }
                           }];
}

2、方式2,使用AFNetWorking

// 方式2,使用AFNetWorking
- (void)test2
{
    
    //传入的参数
    NSDictionary *parameterDic = @{@"username":@"18514531833",@"password":@"asdasd",@"code":@"9999"};
    //你的接口地址
    NSString *url = @"http://sanbox.api.xianjindai.rongba.com:8000/passport/login";

    
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [manager.requestSerializer setQueryStringSerializationWithBlock:^NSString * _Nonnull(NSURLRequest * _Nonnull request, id  _Nonnull parameters, NSError * _Nullable __autoreleasing * _Nullable error) {
        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters options:NSJSONWritingPrettyPrinted error:error];
        NSString *argString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
        return argString;
    }];
    
    [manager POST:url parameters:parameterDic progress:^(NSProgress * _Nonnull uploadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        
        NSLog(@"responseObject ==== %@",responseObject);
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
        NSLog(@"error ==== %@",error.description);
        
    }];
}

Demo参考地址:https://github.com/RunOfTheSnail/JSONDataDemo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源...
    庞哈哈哈12138阅读 20,336评论 3 283
  • 身边很多人抱怨工资低事情多!人人都想找钱多事少离家近的工作!但这样的工作不是你一个20岁出头,血气方刚的年轻人要做...
    一本丸子东阅读 3,222评论 0 0
  • 31年前的明天,一个极其平淡的日子,一个似乎让人淡忘的日子,却对一对夫妻来说,这一天是他们生命中最重要的一天。因为...
    28db55129a04阅读 1,769评论 0 1
  • 6月17日 值得紀念,做了從來沒想過的事兒,生活就是如此的無限可能性。賽車手的我,想要繼續加快節奏,像終點站衝刺!...
    秋小愚358阅读 1,279评论 0 0
  • 有些事情我总是想破脑袋也想不通,为什么这个世界上有那么多不公平的事情,是不是人到了最倒霉的时候就会好起来呢还是并不...
    易水寒兔兔阅读 2,350评论 1 1

友情链接更多精彩内容