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

一、发送JSON数据给服务器

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

(1)一定要使用POST请求

(2)设置请求头

(3)设置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


二、多值参数

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

如下面的请求参数:

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

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

时间: 2024-12-23 04:16:47

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

iOS开发网络篇—发送GET和POST请求(使用NSURLSession)

说明: 1)该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 2)本文将不再讲解NSURLConnection的使用,如有需要了解NSURLConnection如何发送请求. 详细信息,请参考:http://www.cnblogs.com/wendingding/p/3813706.html 3)本文示例代码发送的请求均为http请求,已经对info.plist文件进行配置. 如何配置,请参考:https://github.com/HanGangAndHanMeimei

iOS开发网络篇—数据缓存

iOS开发网络篇-数据缓存 一.关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造成以下问题 (1)用户流量的浪费 (2)程序响应速度不够快 解决上面的问题,一般考虑对数据进行缓存. 二.缓存 为了提高程序的响应速度,可以考虑使用缓存(内存缓存\硬盘缓存) 第一次请求数据时,内存缓存中没有数据,硬盘缓存中没有数据. 缓存数据的过程 当服务器返回数据时,需要做以下步骤 (1)使用服务器

iOS开发网络篇—使用ASI框架进行文件下载

iOS开发网络篇-使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: 1 #import "YYViewController.h" 2 #import "ASIHTTPRequest.h" 3 4 @interface YYViewController () 5 6 7 @end 8 9 @implementation YYViewController 10 11 - (void)

iOS开发网络篇—文件下载(一·不合理)

iOS开发网络篇-文件下载(一·不合理) 一.小文件下载 如果文件比较小,下载方式会比较多 直接用NSData的+ (id)dataWithContentsOfURL:(NSURL *)url; 利⽤NSURLConnection发送一个HTTP请求去下载 如果是下载图片,还可以利用SDWebImage框架  二.沙盒 1.在finder中,系统的一些文件(资源库)是隐藏的,可以通过在终端运行下图的代码,显示隐藏的文件. 显示隐藏系统文件: defaults write com.apple.fi

iOS开发网络篇—大文件的多线程断点下载

iOS开发网络篇-多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,分别写入对应的文件部分). 项目中用到的主要类如下: 完成的实现代码如下: 主控制器中的代码: 1 #import "YYViewControl

服务器接收方法-Android向服务器发送json数据,服务器怎么把post过去的数据取出来?

问题描述 Android向服务器发送json数据,服务器怎么把post过去的数据取出来? Android端:Resquest url:http://192.168.23.7:8080/TennisWeb/find!login.action 数据:post json:{""username"":""shan""password"":""1234""}到服务器(ssh),

iOS开发网络篇—JSON介绍

一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)   JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim"]} 标准JSON格式的注意点:key必须用双引号  

iOS开发网络篇—XML介绍

一.XML简单介绍 XML:全称是Extensible Markup Language,译作"可扩展标记语言" 跟JSON一样,也是常用的一种用于交互的数据格式,一般也叫XML文档(XML Document)   XML举例 <videos>     <video name="小黄人 第01部" length="30" />     <video name="小黄人 第02部" length=&q

iOS开发网络篇—网络编程基础(一)

一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过网络跟外界进行数据交互.数据更新,应用才能保持新鲜.活力 (3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据 新闻:网易新闻.新浪新闻.搜狐新闻.腾讯新闻 视频:优酷.百度视频.搜狐视频.爱奇艺视频 音乐:QQ音乐.百度音乐.酷狗音乐.