iOS开发网络篇—发送json数据给服务器以及多值参数

Posted 快乐加油站789

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发网络篇—发送json数据给服务器以及多值参数相关的知识,希望对你有一定的参考价值。

iOS开发网络篇—发送json数据给服务器以及多值参数

一、发送JSON数据给服务器

发送JSON数据给服务器的步骤:

(1)一定要使用POST请求

(2)设置请求头

(3)设置JSON数据为请求体

代码示例:

#import "YYViewController.h"

@interface YYViewController ()

@end

@implementation YYViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // 1.创建请求
    NSURL *url = [NSURL URLWithString:@"http://192.168.1.200:8080/MJServer/order"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    request.HTTPMethod = @"POST";
    
    // 2.设置请求头
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    
    // 3.设置请求体
    NSDictionary *json = @{
                           @"order_id" : @"123",
                           @"user_id" : @"789",
                           @"shop" : @"Toll"
                           };
    
//    NSData --> NSDictionary
    // NSDictionary --> NSData
    NSData *data = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingPrettyPrinted error:nil];
    request.HTTPBody = data;
    
    // 4.发送请求
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSLog(@"%d", data.length);
    }];
}

@end

 

二、多值参数

多值参数:一个参数对应多个值。

如下面的请求参数:

http://192.168.1.103:8080/MJServer/weather?place=北京&place=河南&place=湖南

服务器的place属性是一个数组。因此用同一个参数不会把服务器的值覆盖。

 

以上是关于iOS开发网络篇—发送json数据给服务器以及多值参数的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发网络篇—NSURLConnection基本使用

iOS开发 -- 发送JSON数据给服务器

iOS开发网络篇—NSURLConnection基本使用

iOS开发之网络数据解析--JSON解析简介

IOS开发之网络篇第一章:数据交换格式

测试开发之前端篇-Web前端简介