swift3.0 post Json解析
? ??func post(){
?? ? ? ?
? ? ? ? //對請求路徑的說明
?? ? ? ?
? ? ? ? //"http:"
?? ? ? ?
? ? ? ? //協(xié)議頭+主機(jī)地址+接口名稱
?? ? ? ?
? ? ? ? //協(xié)議頭(http://)+接口名稱(login)
?? ? ? ?
? ? ? ? //POST請求需要修改請求方法為POST,并把參數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)設(shè)置為請求體
?? ? ? ?
? ? ? ? //1.創(chuàng)建會話對象
?? ? ? ?
? ? ? ? var session: URLSession = URLSession.shared
?? ? ? ?
? ? ? ? //2.根據(jù)會話對象創(chuàng)建task
?? ? ? ?
? ? ? ? var url: NSURL = NSURL(string: "http:")!
?? ? ? ?
? ? ? ? //3.創(chuàng)建可變的請求對象
?? ? ? ?
? ? ? ? var request: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
?? ? ? ?
? ? ? ? //4.修改請求方法為POST
?? ? ? ?
? ? ? ? request.httpMethod = "POST"
?? ? ? ?
? ? ? ? //5.設(shè)置請求體
?? ? ? ?
? ? ? ? request.httpBody = " ".data(using: String.Encoding.utf8)
?? ? ? ?
? ? ? ? //6.根據(jù)會話對象創(chuàng)建一個Task(發(fā)送請求)
?? ? ? ?
? ? ? ? /*
? ? ? ? ?
?? ? ? ? 第一個參數(shù):請求對象
? ? ? ? ?
?? ? ? ? 第二個參數(shù):completionHandler回調(diào)(請求完成【成功|失敗】的回調(diào))
? ? ? ? ?
?? ? ? ? data:響應(yīng)體信息(期望的數(shù)據(jù))
? ? ? ? ?
?? ? ? ? response:響應(yīng)頭信息,主要是對服務(wù)器端的描述
? ? ? ? ?
?? ? ? ? error:錯誤信息,如果請求失敗,則error有值
? ? ? ? ?
?? ? ? ? */
?? ? ? ?
? ? ? ? var dataTask: URLSessionDataTask = session.dataTask(with: request as URLRequest) { (data, response, error) in
?? ? ? ? ? ?
? ? ? ? ? ? //if(error == nil){
?? ? ? ? ? ?
? ? ? ? ? ? //8.解析數(shù)據(jù)
?? ? ? ? ? ?
? ? ? ? ? ? //說明:(此處返回的數(shù)據(jù)是JSON格式的,因此使用NSJSONSerialization進(jìn)行反序列化處理)
?? ? ? ? ? ?
? ? ? ? ? ? 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.執(zhí)行任務(wù)
? ? ? ? dataTask.resume()
?? ? ? ?
?? ? ? ?
? ? }
總結(jié)
以上是生活随笔為你收集整理的swift3.0 post Json解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS filter中有什么用
- 下一篇: 如何使用Scala开发Apache Ka