登录请求解析
请求体:
账号密码:
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
点击跳转