2014-11-06 156 views
0

爲什麼我無法通過以下代碼從HTTP響應中解析JSON?無法解析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() 
     } 

輸出

fatal error: unexpectedly found nil while unwrapping an Optional value

我在做什麼錯?我該如何解決它?

在此先感謝。

回答

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