使用多个字典进行Swift2 JSON解析
我已成功从以下站点读取数据:。我可以在调试窗口中看到这些值。但是,我无法迭代这些项目。有200多个项目,我想对它们进行迭代,并打印出它们的值(名称、货币名称、id等) 读取数据的代码:使用多个字典进行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
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返回的结果数据(示例):
keyresults
的值是一个字典,它可以用一个简单的来枚举。。在
循环中。
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)
}
}