swift3.0 post &Json解析

    funcpost(){

        

       //对请求路径的说明

        

       //"http:"

        

       //协议头+主机地址+接口名称

        

       //协议头(http://)+接口名称(login)

        

        //POST请求需要修改请求方法为POST,并把参数转换为二进制数据设置为请求体

        

       //1.创建会话对象

        

       varsession:URLSession=URLSession.shared

        

       //2.根据会话对象创建task

        

       varurl:NSURL= NSURL(string: "http:")!

        

       //3.创建可变的请求对象

        

       varrequest:NSMutableURLRequest= NSMutableURLRequest(url: url asURL)

        

       //4.修改请求方法为POST

        

        request.httpMethod="POST"

        

       //5.设置请求体

        

        request.httpBody=" ".data(using:String.Encoding.utf8)

        

       //6.根据会话对象创建一个Task(发送请求)

        

       /*

         

        第一个参数:请求对象

         

        第二个参数:completionHandler回调(请求完成【成功|失败】的回调)

         

         data:响应体信息(期望的数据)

         

         response:响应头信息,主要是对服务器端的描述

         

         error:错误信息,如果请求失败,则error有值

         

         */

        

       vardataTask:URLSessionDataTask= session.dataTask(with: requestasURLRequest) { (data, response, error)in

            

           //if(error == nil){

            

           //8.解析数据

            

           //说明:(此处返回的数据是JSON格式的,因此使用NSJSONSerialization进行反序列化处理)

            

           vardict:NSDictionary? =nil

            

           do{

                

                dict  =tryJSONSerialization.jsonObject(with: data!, options:JSONSerialization.ReadingOptions.init(rawValue:0))as!NSDictionary

                

            }catch{

                

                

                

            }

            

           print(dict?.value(forKey:"result"))

            

           //}

        }

       //5.执行任务

        dataTask.resume()

        

        

    }


版权声明:本文为William_CW原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。