zoukankan      html  css  js  c++  java
  • 异步POST请求解析JSON

     异步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"];
  • 相关阅读:
    DWR2.0的DefaultContainer can't find a classes异常的解决方案
    IIS7.5(FastCGI)PHP7安装手记
    android手机一句话备忘录
    设计模式学习每日一记(21.叠代器模式)
    设计模式学习每日一记(20.中介者模式)
    C&C++多系统集成需要注意的问题
    设计模式学习每日一记(23.责任链模式)
    设计模式学习每日一记(22.访问者模式)
    源码阅读工具总结
    zte v880刷机入门篇
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7199884.html
Copyright © 2011-2022 走看看