iOS向后台发送Json数据

此处有大坑一个,后台需要json数据,本以为json和字典一样发送,结果后台接收不到,想尽了一切办法。。。。

直接上代码

- (void)didConfirmButtonClickWithItem:(OrderContentModel *)item {

    {

        // 1.创建请求

        NSURL *url = [NSURLURLWithString:@"http://192.168.31.125/url"];

        NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:url];

        request.HTTPMethod =@"POST";

        

        // 2.设置请求头

        [request setValue:@"application/json"forHTTPHeaderField:@"Content-Type"];

        

        // 3.设置请求体

        NSMutableDictionary *parameters = [NSMutableDictionarydictionary];

        NSMutableDictionary * dishDict = [NSMutableDictionary  dictionary];

        

        for (int i = 0; i<self.paymentOrder.ordersArray.count; i++) {

            

            NSMutableDictionary * dict = [NSMutableDictionarydictionary];

            DishBriefItem * brief =self.paymentOrder.ordersArray[i];

            

            [self.paymentOrder.ordersArray[i]dish_id];

            dict[@"dish_id"] = brief.dish_id;

            NSMutableArray * peitaoArray = [NSMutableArrayarray];

            NSMutableArray * peitaoNumArray = [NSMutableArrayarray];

            for (int j =0; j<brief.peitao.count; j++) {

                DishPeiTaoGroupItem *group = brief.peitao[j];

                for (int k =0; k < group.arr.count; k++) {

                    DishSubPeiTaoItem *sub = group.arr[k];

                    self.subItem = sub;

                    NSLog(@"subName:%@", sub.name);

                    if (sub.peitaoCount !=0) {

                        NSLog(@"%ld",(long)sub.peitaoCount);

                        [peitaoArray addObject:sub.garnish_id];

                        [peitaoNumArray addObject:[NSStringstringWithFormat:@"%ld",(long)sub.peitaoCount]];

                    }

                }

            }

            NSString * peitaoString = [peitaoArraycomponentsJoinedByString:@","];

            dict[@"peitao"] = peitaoString;

            NSLog(@"peitaoTest:%lu", (unsignedlong)brief.teshuyaoqiu.count);

            

            NSString *peitaoNumString = [peitaoNumArraycomponentsJoinedByString:@","];

            dict[@"peitaoNum"] = peitaoNumString;

            

            NSMutableArray * yaoqiuArray = [NSMutableArrayarray];

            

            if ( brief.teshuyaoqiu.count >0) {

                

                NSMutableArray * teshuyaoqiuArray = [NSMutableArrayarray];

                

                for (int index =0; index < brief.teshuyaoqiu.count; index ++ ) {

                    DishSpecialOrderItem *item = brief.teshuyaoqiu[index];

                    NSLog(@"selectStatus:%d",item.selectedStatus);

                    if (item.selectedStatus ==1) {

                        [teshuyaoqiuArray addObject:item];

                    }

                }

                for (int index =0; index < teshuyaoqiuArray.count; index ++ ) {

                    DishSpecialOrderItem *item = teshuyaoqiuArray[index];

                    

                    [yaoqiuArray addObject:item.label_id];

                }

            }

            dict[@"teshuyaoqiu"] = [yaoqiuArraycomponentsJoinedByString:@","];

            

            NSString * key = [NSStringstringWithFormat:@"%d",i];

            dishDict[key] = dict;

            

            DishBriefItem *numItem =self.myOrdersArray[i];

            

            NSString *string = dishDict[[NSStringstringWithFormat:@"%ld",(long)i]][@"dish_id"];

            int dishNumm = [stringintValue];

            NSNumber *dishNum = [NSNumbernumberWithInt:dishNumm];

            

            NSString *stringing = [NSStringstringWithFormat:@"%ld",(long)numItem.orderCount];

            int garnish = [stringingintValue];

            NSNumber *garnishNum = [NSNumbernumberWithInt:garnish];

            

            NSDictionary *dic = [NSDictionarydictionary];

            dic = @{

                    @"dish_id":dishNum,

                    @"part":garnishNum,

                    @"garnish_id":dict[@"peitao"],

                    @"garnish_part":dict[@"peitaoNum"],

                    @"label_id":dict[@"teshuyaoqiu"],

                    };

            

            [self.arrayaddObject:dic];

        }

        NSString *stringinging =self.tableid;

        int tableid = [stringingingintValue];

        NSNumber *table = [NSNumbernumberWithInt:tableid];

        

        parameters[@"code"] = [NSStringstringWithFormat:@"%u",arc4random()];

        parameters[@"table_id"] = table;

        parameters[@"claim"] =self.beizhuContentTextField.text;

        parameters[@"dishes"] =self.array;

        parameters [@"allprice"] =self.priceLabel.text;


        NSData *data = [NSJSONSerializationdataWithJSONObject:parametersoptions:NSJSONWritingPrettyPrintederror:nil];

        request.HTTPBody = data;

        

        // 4.发送请求

        [NSURLConnectionsendAsynchronousRequest:requestqueue:[NSOperationQueuemainQueue]completionHandler:^(NSURLResponse *response,NSData *data, NSError *connectionError) {

            

            NSLog(@"------------%@-----------",response);

            

            [selfremoveLeftContentViewFromSuperView];

            [self.rightTabelViewreloadData];

            

        }];

    }

}


必需要有设置请求头,要不后台不知道是发送的json数据,这样后台完美接收
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值