无法解析HTTP响应中的JSON
问题描述:
为什么我无法通过以下代码从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
我在做什么错?我该如何解决它?
在此先感谢。
答
这有点晚......但我想你也试图解析错误,所以添加一个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()
}