[iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数

A.上传JSON

1.思路:

必须使用POST方法才能上传大量JSON数据

设置请求头:设置Content-Type

设置请求体,JSON实际相当于字典,可以用NSDictionary

NSJSONSerialization把字典数据转换成JSON二进制

2.实现

 1 //
 2 //  ViewController.m
 3 //  PostJsonDemo
 4 //
 5 //  Created by hellovoidworld on 15/1/28.
 6 //  Copyright (c) 2015年 hellovoidworld. All rights reserved.
 7 //
 8
 9 #import "ViewController.h"
10
11 @interface ViewController ()
12 - (IBAction)postJson;
13
14 @end
15
16 @implementation ViewController
17
18 - (void)viewDidLoad {
19     [super viewDidLoad];
20     // Do any additional setup after loading the view, typically from a nib.
21 }
22
23 - (IBAction)postJson {
24     // 1.创建请求
25     NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/acceptJson"];
26     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
27     // 设置post发送
28     request.HTTPMethod = @"POST";
29
30     // 2.设置请求头
31     [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
32
33     // 3.设置请求体
34     NSDictionary *json = @{@"name":@"tom",
35                            @"age":@"21"};
36     request.HTTPBody = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingPrettyPrinted error:nil];
37
38
39     // 4.发送请求
40     [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
41         NSLog(@"%@", [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]);
42     }];
43
44 }
45 @end

B.多值参数

1.概念

一个参数名对应多个参数值

http://localhost:8080/MyTestServer/upload?type=aaa&type=bbb&type=ccc

这样在服务器接收到的就是一个数组

时间: 2024-10-18 13:18:43

[iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数的相关文章

iOS多线程与网络开发之使用POST上传JSON数据 & 多值参数

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Co

[iOS 多线程 & 网络 - 2.11] - ASI框架上传文件

A.ASI的上传功能基本使用 1.实现步骤 (1)创建请求 使用ASIFormDataRequest (2)设置上传文件路径 (3)发送请求 2.上传相册相片 UIImagePickerController用来选择图片 设置图片来源,可以选择相册 使用代理 UIImagePickerControllerDelegate方法,选择完成之后取得相片 1 // 2 // ViewController.m 3 // ASIUploadDemo 4 // 5 // Created by hellovoid

[iOS 多线程 & 网络 - 2.5] - 小文件上传

A.文件上传 思路: 发送文件数据给服务器 使用post请求 必须手动设置请求头: 内容大小Content-Length & 内容类型 Content-Type 请求体:文件数据 文件上传的格式要求十分严格,必须严格遵守 由于是一次性加载文件到内存上传,所以只能用于小文件上传 B.实现 1.设置POST请求 (1)使用POST请求方法 (2)设置请求头 设置内容长度.内容类型.分割线 (3)设置请求体 NSMutableData *body = [NSMutableData data]; 分割线

POST 上传 JSON 数据

// // ViewController.m // 03-post上传json // // Created by jerry on 15/10/10. // Copyright (c) 2015年 jerry. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [

iOS 如何用post方式上传json数据

今天在做项目的时候,搞了一个上午时间上传一个json串数据,与后台沟通N次没有结果,仔细研究了自己的数据结构与后台接口的数据结构,发现数据格式是没有问题的,后台提供的接口格式如下: api/mobile/?version=2&module=medicine_project&op=addproject POST提交 name:我的方案 starttime:2014-3-5 data:方案详细:[{"medicine":242,"num":5,"

关于AFN直接上传JSON数据问题

AFN默认的是self.requestSerializer = [AFHTTPRequestSerializer serializer]; 以这种方式发送请求会将参数拼接到请求的url中,如这种格式:http://example.com?foo=bar&baz[]=1&baz[]=2&baz[]=3; 修改成manager.requestSerializer = [AFJSONRequestSerializer serializer];这种格式后 发送请求会将参数json化写到请求

xUtils怎么post请求上传json数据

InfoSmallCodeBinding smallCode = new InfoSmallCodeBinding(); smallCode.setSmallCode("测试"); smallCode.setMiddleBoxCode("测试"); smallCode.setProductCode("0001"); Gson gson3 = new Gson(); String url = AppConfig.ApiUrl+"?acti

iOS利用AFNetworking(AFN) 实现图片上传

1.上传图片以二进制流的形式上传 1 #pragma mark - 文件上传  2 - (IBAction)uploadImage  3 {  4     /*  5      此段代码如果需要修改,可以调整的位置  6        7      1. 把upload.php改成网站开发人员告知的地址  8      2. 把file改成网站开发人员告知的字段名  9      */ 10     // 1. httpClient->url 11      12     // 2. 上传请求P

关于Java网络爬虫---模拟txt文件上传操作。

业务需求是这样的,公司400业务中客户使用的,400电话号码,可以添加多个目的码你可以理解为转接号码: 这些配置的目的码我们会在网关服务器上配置成白名单,既拥有某些权限.先提出的要求是先添加或者变动目的码要及时同步到网关. 场景: 1.我们的网关服务器接受的白名单(目的码)是已txt文件上传的,数据按照制定的格式保存在txt里面. 2.利用Java网络爬虫模拟txt文件上传.------2018-4-7现在不写了,代码在公司电脑上明天总结一下在写. 原文地址:https://www.cnblog