美文网首页iOS软件开发Swift学习关注
Swift 3 网络请求+数据解析

Swift 3 网络请求+数据解析

作者: 语歌 | 来源:发表于2016-10-10 17:23 被阅读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点击跳转

相关文章

网友评论

  • 咔客:写的代码要维护啊 3.0下运行崩溃啊 新手不会改。。。。。
    语歌:@968618715750 看这一篇:http://www.aiyinyu.com/content/Swift-POP.html
    咔客:@语歌 那个在实战用的多就发那个 注重实战
    语歌:好吧。晚上扔一个。要系统的网络请求 还是 Alamofire 的?

本文标题:Swift 3 网络请求+数据解析

本文链接:https://www.haomeiwen.com/subject/ymkvyttx.html