从 NSDictionary 访问数据
Access data from NSDictionary
我正在尝试从 Swift 中的 NSDictionary
获取数据,但我做不到。
这是代码
let urlPath = "http://ws-report.goocity.it/Stats/json/GetReport"
let url: NSURL = NSURL(string: urlPath)!
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in
var result: NSDictionary
if error != nil {
// If there is an error in the web request, print it to the console
println(error.localizedDescription)
}
var err: NSError?
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
if err != nil {
// If there is an error parsing JSON, print it to the console
println("JSON Error \(err!.localizedDescription)")
}
else{
//var arr : NSArray = jsonResult.valueForKey("Stats") as NSArray
//var cash: String? = jsonResult.valueForKey("Cash") as? NSString
let stats = jsonResult["Stats"]! as [[String : AnyObject]]
}
})
task.resume()
您可以看到 JSON 单击 urlPath。
我仍然在 let stats = ...
上收到以下错误
Thread 5: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
我刚刚在 Whosebug 和任何地方查看了其他几篇帖子,但没有一个答案适合我的问题。
我需要获取许多变量(如 cash、lastUpdate、totalPartners 等)中的所有 JSON 字段值。
您的 json 不是字典数组,它只是一个字典。
将 [[String: AnyObject]]
更改为 [String: AnyObject]
即可。
我正在尝试从 Swift 中的 NSDictionary
获取数据,但我做不到。
这是代码
let urlPath = "http://ws-report.goocity.it/Stats/json/GetReport"
let url: NSURL = NSURL(string: urlPath)!
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in
var result: NSDictionary
if error != nil {
// If there is an error in the web request, print it to the console
println(error.localizedDescription)
}
var err: NSError?
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
if err != nil {
// If there is an error parsing JSON, print it to the console
println("JSON Error \(err!.localizedDescription)")
}
else{
//var arr : NSArray = jsonResult.valueForKey("Stats") as NSArray
//var cash: String? = jsonResult.valueForKey("Cash") as? NSString
let stats = jsonResult["Stats"]! as [[String : AnyObject]]
}
})
task.resume()
您可以看到 JSON 单击 urlPath。
我仍然在 let stats = ...
Thread 5: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
我刚刚在 Whosebug 和任何地方查看了其他几篇帖子,但没有一个答案适合我的问题。
我需要获取许多变量(如 cash、lastUpdate、totalPartners 等)中的所有 JSON 字段值。
您的 json 不是字典数组,它只是一个字典。
将 [[String: AnyObject]]
更改为 [String: AnyObject]
即可。