无法解析HTTP响应中的JSON

时间:2014-11-06 12:32:28

标签: json swift

为什么我无法通过以下代码解析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

我做错了什么?我该如何解决?

提前致谢。

1 个答案:

答案 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()
    }