本文介绍了使用Swift 3解析JSON响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的JSON看起来像这样:
I have JSON looking like this:
{"posts": [ { "id":"1","title":"title 1" }, { "id":"2","title":"title 2" }, { "id":"3","title":"title 3" }, { "id":"4","title":"title 4" }, { "id":"5","title":"title 5" } ], "text":"Some text", "result":1 }如何用Swift 3解析那个JSON?
How can I parse that JSON with Swift 3?
我有这个:
let url = URL(string: "domain/file.php")! let request = URLRequest(url: url) let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print("request failed \(error)") return } do { if let json = try JSONSerialization.jsonObject(with: data) as? [String: String], let result = json["result"] { // Parse JSON } } catch let parseError { print("parsing error: \(parseError)") let responseString = String(data: data, encoding: .utf8) print("raw response: \(responseString)") } } task.resume() }推荐答案
使用它来解析您的数据:
Use this to parse your data:
let url = URL(string: "domain/file.php") URLSession.shared.dataTask(with:url!, completionHandler: {(data, response, error) in guard let data = data, error == nil else { return } do { let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as! [String:Any] let posts = json["posts"] as? [[String: Any]] ?? [] print(posts) } catch let error as NSError { print(error) } }).resume()使用后卫检查您是否有数据并且该错误是空的。
Use guard to check if you have data and that error is empty.
更多推荐
使用Swift 3解析JSON响应
发布评论