AFN是iOS开发中非常常用的第三方网络请求库,可以很方便地实现网络请求。AFN支持多种数据格式的提交,包括JSON、XML等,而在实际开发中,我们经常需要直接提交JSON数据。本文将介绍AFN如何直接提交JSON数据。
首先,我们需要设置AFHTTPSessionManager的请求头,以指示服务器接收JSON数据。
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",nil]; [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
然后,我们可以使用AFHTTPSessionManager的POST方法发送JSON数据。首先,我们需要将JSON字符串转换为NSData。
NSDictionary *parameters = @{@"key1":@"value1",@"key2":@"value2"}; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters options:NSJSONWritingPrettyPrinted error:nil];
接下来,我们可以调用AFHTTPSessionManager的POST方法提交JSON数据。
[manager POST:@"http://yoururl.com" parameters:nil constructingBodyWithBlock:^(idformData) { [formData appendPartWithHeaders:nil body:jsonData]; } progress:nil success:^(NSURLSessionDataTask *task,id responSEObject) { NSLog(@"请求成功 %@",responSEObject); } failure:^(NSURLSessionDataTask *task,NSError *error) { NSLog(@"请求失败 %@",error); }];
以上就是AFN直接提交JSON数据的方法,非常简单易用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。