【发布时间】:2020-03-18 17:19:55
【问题描述】:
我尝试使用 Alamofire 和 Swift 解码来解码和访问特定货币的特定汇率:
这是我的模型:
struct Listek: Codable {
let base: String
let date: String
let rates: [String: Double]
enum CodingKeys: String, CodingKey {
case base = "base"
case date = "date"
case rates = "rates"
}
}
这是 Alamofire API 调用 + 解码
let apiToContact = "https://api.exchangeratesapi.io/latest"
AF.request(apiToContact).responseJSON { (response) in
print(response)
guard let data = response.data else { return }
do {
let st = try JSONDecoder().decode(Listek.self, from: data)
print (st.rates)
print (st.base)
print (st.date)
}
catch {
print("error")
}
到目前为止一切顺利,但我无法访问单一货币及其汇率值。我想用来自 JSON 的 JPY 汇率值声明一个变量“JPYrate”。你能帮我导航吗?
【问题讨论】:
-
你试过 st.rates["JPY"] 吗?
-
我认为你需要进一步解释你的问题是什么,这样我们才能正确地帮助你。 “访问失败”非常模糊。
-
旁白:不要打印
"error"(字符串)。print(error)看看到底出了什么问题。
标签: ios swift alamofire decode