使用多个字典进行Swift2 JSON解析

使用多个字典进行Swift2 JSON解析,json,parsing,swift2,Json,Parsing,Swift2,我已成功从以下站点读取数据:。我可以在调试窗口中看到这些值。但是,我无法迭代这些项目。有200多个项目,我想对它们进行迭代,并打印出它们的值(名称、货币名称、id等) 读取数据的代码: func countryList() { // Do any additional setup after loading the view. let jsonUrl = "http://free.currencyconverterapi.com/api/v3/countries" le

我已成功从以下站点读取数据:。我可以在调试窗口中看到这些值。但是,我无法迭代这些项目。有200多个项目,我想对它们进行迭代,并打印出它们的值(名称、货币名称、id等)

读取数据的代码:

func countryList() {
    // Do any additional setup after loading the view.
    let jsonUrl = "http://free.currencyconverterapi.com/api/v3/countries"

    let session = NSURLSession.sharedSession()
    let shotsUrl = NSURL(string: jsonUrl)

    let task = session.dataTaskWithURL(shotsUrl!) {
        (data, response, error) -> Void in

        do {
            let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary

            //let results: [String:[String:[String]]] = jsonData["results"]! as! [String : [String : [String]]]
            let results = jsonData["results"]!

            // iterate all items and print values
            // how ???
        } catch _ {
            // Error
        }
    }

    task.resume()
}
我尝试了以下方法:
let results:[String:[String:[String]]]=jsonData[“results”]但是这不起作用,如果它起作用,我会感到惊讶:)

有什么建议吗

使用Xcode 7.1和Swift 2

使用JSON返回的结果数据(示例):


key
results
的值是一个字典,它可以用一个简单的
来枚举。。在
循环中。
countrycode
是键,
info
是值

将字典向下转换为
[String:AnyObject]
包括所有形式的嵌套对象

此代码打印出国家代码和每个项目的名称

do {
    let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers ) as! [String:AnyObject]
    let results = jsonData["results"] as! [String:AnyObject]

    for (countryCode, info) in results {
      print(countryCode, info["name"] as! String)
    }
  } 
请注意,没有顺序,因为字典的定义是无序的

do {
    let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers ) as! [String:AnyObject]
    let results = jsonData["results"] as! [String:AnyObject]

    for (countryCode, info) in results {
      print(countryCode, info["name"] as! String)
    }
  }