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

时间:2021-01-08 21:01:26

原文: http://www.cnblogs.com/wendingding/p/3950132.html

一、发送JSON数据给服务器

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

(1)一定要使用POST请求

(2)设置请求头

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

代码示例:

【转】iOS开发网络篇—发送json数据给服务器以及多值参数
 1 #import "YYViewController.h"
2
3 @interface YYViewController ()
4
5 @end
6
7 @implementation YYViewController
8
9 - (void)viewDidLoad
10 {
11 [super viewDidLoad];
12 }
13
14 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
15 {
16 // 1.创建请求
17 NSURL *url = [NSURL URLWithString:@"http://192.168.1.200:8080/MJServer/order"];
18 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
19 request.HTTPMethod = @"POST";
20
21 // 2.设置请求头
22 [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
23
24 // 3.设置请求体
25 NSDictionary *json = @{
26 @"order_id" : @"123",
27 @"user_id" : @"789",
28 @"shop" : @"Toll"
29 };
30
31 // NSData --> NSDictionary
32 // NSDictionary --> NSData
33 NSData *data = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingPrettyPrinted error:nil];
34 request.HTTPBody = data;
35
36 // 4.发送请求
37 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
38 NSLog(@"%d", data.length);
39 }];
40 }
41
42 @end
【转】iOS开发网络篇—发送json数据给服务器以及多值参数

二、多值参数

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

如下面的请求参数:

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

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