Swift 3 網路請求+資料解析

語歌發表於2019-03-04

登入請求解析

請求體:

賬號密碼:

let param = ["password":"123456","username":"yinyu"]複製程式碼

將內容轉換成 Data

let data = try! JSONSerialization.data(withJSONObject: param, options: JSONSerialization.WritingOptions.prettyPrinted)複製程式碼

後臺對資料型別的需要,不用太糾結 ?

var string = "json="複製程式碼
let Str = String(data: data, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
//拼接
string = string + Str!複製程式碼

登入請求的URL

let Url = URL.init(string: "http://facaiyoudao.com/api/user/login")

let request = NSMutableURLRequest.init(url: Url!)複製程式碼

設定請求超時時間

request.timeoutInterval = 30
//請求方式,跟OC一樣的
request.httpMethod = "POST"
request.httpBody = string.data(using: String.Encoding.utf8)複製程式碼

具體的搞法

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest) { (data, response, error) -> Void in
            if (error != nil) {
                return
            }
            else {
            //此處是具體的解析,具體請移步下面
                let json: Any = try! JSONSerialization.jsonObject(with: data!, options: [])
                if let value = JSON(json)["status"].string {
                    print("狀態是:(value)")
                }
                print(json)
            }
        }複製程式碼

啟動任務
dataTask.resume()

swift 的解析

針對 swift的資料解析,有一些非常出名的開源庫,這裡用到的是

SwiftyJSON 連結:SwiftyJSON
下圖的展示讓你沒有拒絕的理由

Swift 3 網路請求+資料解析

json-swift 連結:json-swift

當然為了更好的從 OC 轉換成Swift 這裡再給你提供一個強大的轉換平臺如下圖
效果如下:左邊是OC 右邊是swift,程式碼遷移相對不錯

Swift 3 網路請求+資料解析

轉換量大的話需要註冊等一系列的操作,自己去玩吧

移步該網站

寫的沒啥意思
Demo點選跳轉

相關文章