为什么我无法通过以下代码解析HTTP响应中的JSON?
if let url = NSURL(string: "https://2ch.hk/b/threads.json") {
let task = NSURLSession.sharedSession().dataTaskWithURL(url) {
(data, response, error) in
var jsonError: NSError?
let jsonDict = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &jsonError) as [String: AnyObject]
if jsonError != nil {
return
}
// ...
}
task.resume()
}
输出
致命错误:在解包可选值时意外发现nil
我做错了什么?我该如何解决?
提前致谢。
答案 0 :(得分:0)
这有点晚......但我认为你也试图解析错误,所以添加一个else部分,并且只有在有数据的情况下才会解析要序列化的字典......你的代码可以修改如下
if let url = NSURL(string: "https://2ch.hk/b/threads.json") {
let task = NSURLSession.sharedSession().dataTaskWithURL(url) {
(data, response, error) in
if (jsonError != nil) {
return
} else {
var jsonError: NSError?
let jsonDict = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &jsonError) as [String: AnyObject]}
// ...
}
task.resume()
}