无法解析JSON接收错误NSCocoaErrorDomain Code = 3840 我的JSON已经过适当的验证,并且是utf-8编码的。我正在使用此代码
let request: NSURLRequest = NSURLRequest(URL: url)
let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
print(data)
do {
let jsonDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options:[NSJSONReadingOptions()]) as? [String: AnyObject]
print(jsonDictionary)
} catch {
print(error)
}
})
dataTask?.resume()
答案 0 :(得分:1)
您的json
是集合类型[AnyObject]
,而不是[String: AnyObject]
。请参阅下面的代码。
let jsonDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options:[]) as? [AnyObject]
希望这有帮助!
答案 1 :(得分:0)
这段代码完全适用于我做了一点重构,以便更容易阅读并添加一个URL,例如:
let charAsString = "1f44d" // code in variable
println("\u{\(charAsString)}") // not working
(此代码用Swift 2.0编写)
它给出了以下输出:(我删除了类型转换以确保获得某些东西)
let request = NSURLRequest(URL: NSURL(string: "https://api.ipify.org?format=json")!)
let session = NSURLSession.sharedSession()
let dataTask = session.dataTaskWithRequest(request) { (data, _, _) in
print(data)
do {
let jsonDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options:[])
print(jsonDictionary)
} catch {
print(error)
}
}
dataTask.resume()
所以这必须来自您要解析的数据。你能不能把它交给我们所以我们可以试着找出什么是错的?