【问题标题】:Unable to parse JSON from the HTTP response无法从 HTTP 响应解析 JSON
【发布时间】:2014-11-06 12:32:27
【问题描述】:

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

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

提前致谢。

【问题讨论】:

    标签: json swift


    【解决方案1】:

    这有点晚了....但是我认为您也在尝试解析错误,因此添加一个 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()
        }
    

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2018-06-19
      • 2018-06-29
      • 2019-05-22
      • 1970-01-01
      相关资源
      最近更新 更多