您的位置:首页 > 移动开发 > Swift

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()

        

        

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: