登入請求解析
請求體:
賬號密碼:
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下圖的展示讓你沒有拒絕的理由
json-swift
連結:json-swift
當然為了更好的從 OC 轉換成Swift 這裡再給你提供一個強大的轉換平臺如下圖效果如下:左邊是OC 右邊是swift,程式碼遷移相對不錯
轉換量大的話需要註冊等一系列的操作,自己去玩吧
寫的沒啥意思
Demo
點選跳轉