iOS软件开发Swift学习关注

Swift 3 网络请求+数据解析

2016-10-10  本文已影响7317人  语歌

登录请求解析

请求体:

账号密码:

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点击跳转

上一篇 下一篇

猜你喜欢

热点阅读