swift3.0 post &Json解析
2017-03-14 14:29
369 查看
func post(){
//对请求路径的说明
//"http:"
//协议头+主机地址+接口名称
//协议头(http://)+接口名称(login)
//POST请求需要修改请求方法为POST,并把参数转换为二进制数据设置为请求体
//1.创建会话对象
var session:
URLSession = URLSession.shared
//2.根据会话对象创建task
var url:
NSURL =
NSURL(string:
"http:")!
//3.创建可变的请求对象
var request:
NSMutableURLRequest =
NSMutableURLRequest(url: url
as URL)
//4.修改请求方法为POST
request.httpMethod =
"POST"
//5.设置请求体
request.httpBody =
" ".data(using:
String.Encoding.utf8)
//6.根据会话对象创建一个Task(发送请求)
/*
第一个参数:请求对象
第二个参数:completionHandler回调(请求完成【成功|失败】的回调)
data:响应体信息(期望的数据)
response:响应头信息,主要是对服务器端的描述
error:错误信息,如果请求失败,则error有值
*/
var dataTask:
URLSessionDataTask = session.dataTask(with: request
as URLRequest) { (data, response, error)
in
//if(error == nil){
//8.解析数据
//说明:(此处返回的数据是JSON格式的,因此使用NSJSONSerialization进行反序列化处理)
var dict:NSDictionary? =
nil
do {
dict = try
JSONSerialization.jsonObject(with: data!, options:JSONSerialization.ReadingOptions.init(rawValue:
0)) as!
NSDictionary
} catch {
}
print(dict?.value(forKey:
"result"))
//}
}
//5.执行任务
dataTask.resume()
}
//对请求路径的说明
//"http:"
//协议头+主机地址+接口名称
//协议头(http://)+接口名称(login)
//POST请求需要修改请求方法为POST,并把参数转换为二进制数据设置为请求体
//1.创建会话对象
var session:
URLSession = URLSession.shared
//2.根据会话对象创建task
var url:
NSURL =
NSURL(string:
"http:")!
//3.创建可变的请求对象
var request:
NSMutableURLRequest =
NSMutableURLRequest(url: url
as URL)
//4.修改请求方法为POST
request.httpMethod =
"POST"
//5.设置请求体
request.httpBody =
" ".data(using:
String.Encoding.utf8)
//6.根据会话对象创建一个Task(发送请求)
/*
第一个参数:请求对象
第二个参数:completionHandler回调(请求完成【成功|失败】的回调)
data:响应体信息(期望的数据)
response:响应头信息,主要是对服务器端的描述
error:错误信息,如果请求失败,则error有值
*/
var dataTask:
URLSessionDataTask = session.dataTask(with: request
as URLRequest) { (data, response, error)
in
//if(error == nil){
//8.解析数据
//说明:(此处返回的数据是JSON格式的,因此使用NSJSONSerialization进行反序列化处理)
var dict:NSDictionary? =
nil
do {
dict = try
JSONSerialization.jsonObject(with: data!, options:JSONSerialization.ReadingOptions.init(rawValue:
0)) as!
NSDictionary
} catch {
}
print(dict?.value(forKey:
"result"))
//}
}
//5.执行任务
dataTask.resume()
}
相关文章推荐
- jQuery Ajax 调用 ASP.NET WebServices + (POST)->JSON 数据传递,一种开发高效的模式
- zTree联想终极篇-->将存储树形数据表封装成自定义TreeNode-->将自定义TreeNode解析成JSON树形字串
- XML文件解析&操作&与JSON比较
- JSON 数据解析
- 实习第一天——做一个录音上传服务器的小功能pttp协议post发送文件和参数到服务器,解析返回的json数据
- PHP serialize & JSON 解析
- PHP接收IOS post过来的json数据无法解析的问题
- 使用PHP接收POST数据,解析json数据
- 使用PHP接收POST数据,解析json数据
- 【Pia开发日记】Json&&Post开发Demo
- javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
- 解析Jquery函数:$.get(),$.post(),$.ajax(),$.getJSON() 操作JSON数据
- iphone开发之iphone解析xml&json-1
- PHP serialize & JSON 解析
- http get/post请求及json解析
- PHP接收POST数据,解析json数据
- sbjson解析json数据遇到JSONValue failed. Error is: Illegal start of token [Ô]解决办法
- JS 解析 JSON 及 XML
- php post json数据遇“&”字符被截断的解决方案
- PHP serialize & JSON 解析