首页 > Web开发 > 详细

异步POST请求解析JSON

时间:2014-12-19 12:09:09      阅读:317      评论:0      收藏:0      [点我收藏+]

 异步POST请求解析JSON

一、创建URL

NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/order"];
   
二、创建一个请求
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
   
三、设置请求方法
request.
HTTPMethod = @"POST";
   
五、设置请求体(请求参数)
// 创建一个描述订单信息的JSON数据
NSMutableDictionary *orderInfo = [NSMutableDictionary dictionary];
orderInfo[@"shop_id"] = @"123;
orderInfo[@"shop_name"] = @"123";
orderInfo[@"user_id"] = @"123";
// 将字典转化成data
NSData *bodyData= [NSJSONSerialization dataWithJSONObject:orderInfo options:NSJSONWritingPrettyPrinted error:nil];
request.
HTTPBody bodyData;
   
六、设置请求头:这次请求体的数据不再是普通的参数,而是一个JSON数据
[request
setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
   
七、发送请求
[
NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
   
if (data == nil || connectionError) return;
   
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
   
NSString *error = dict[@"error"];
   
if (error) {
         [
MBProgressHUD showError:error];
   }
else {
         
NSString *success = dict[@"success"];
         [
MBProgressHUD showSuccess:success];
   }
}];

注意:
 [NSJSONSerialization dataWithJSONObject:orderInfo options:NSJSONWritingPrettyPrinted error:nil]
将JSON转化成二进制数据
[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
将二进制数据转成JSON
设置请求头:这次请求体的数据不再是普通的参数,而是一个JSON数据
[request
setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

异步POST请求解析JSON

原文:http://blog.csdn.net/itcontend/article/details/42025985

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!