2014-11-06 3 views
0

Почему я не могу разобрать JSON из ответа HTTP через следующий код?Невозможно разобрать JSON из ответа HTTP

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() 
    } 
Смежные вопросы