从NSDictionary访问数据

时间:2015-03-04 23:40:12

标签: ios json swift 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()

您可以在urlPath上看到JSON点击。
我仍然在let stats = ...

上收到以下错误消息
  

主题5:EXC_BAD_ACCESS(代码= EXC_I386_GPFLT)

我刚刚在stackoverflow和其他任何地方查看了一些其他帖子,但没有答案对我的问题有好处。

我需要在许多变量中获取所有JSON字段值(例如cash,lastUpdate,totalPartners等)。

1 个答案:

答案 0 :(得分:0)

你的json不是字典数组,它只是一个字典。

[[String: AnyObject]]更改为[String: AnyObject],它会有效。