我正在尝试一个简单的应用程序,其中我想转换一些值。它一直在工作,直到我尝试转换字典中的数据,当我点击run时,它成功地构建了,但是控制台没有打印任何东西。代码如下:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "http://gnb.dev.airtouchmedia.com/rates.json")
let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error != nil
{
print("ERROR")
}
else {
if let content = data {
do {
//Array
let myJson = try JSONSerialization.jsonObject(with:content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
//print(myJson)
if let rate = myJson["rate"] as? NSDictionary {
if let currency = rate["AUD"] {
print(currency)
}
}
}
catch {
}
}
}
}
task.resume()
}
发布于 2018-06-29 23:18:37
因为您错误地解析了JSON
尝尝这个
let myJson = try JSONSerialization.jsonObject(with:content, options: JSONSerialization.ReadingOptions.mutableContainers) as? [[String: AnyObject]] else { return }
for rate in myJson
guard let cur = user["from"] as? String,
let curRate = user["rate"] as? Double else { break }
if let cur = "AUD" {
print(curRate)
}
更新:
您正在接收响应中的对象数组,
所以首先你必须把它当作对象的数组,
然后你必须遍历这个对象,然后在这个循环中,你必须提取你正在寻找的数据并处理它。
https://stackoverflow.com/questions/51104391
复制相似问题