这是我的网址回复
{
"base": "EUR",
"date": "2017-05-16",
"rates": {
"AUD": 1.492,
}}
这是我的代码
Alamofire.request("http://api.fixer.io/latest").responseJSON { response in
guard let JSON = response.result.value else{
print("Error")
return
}
print("JSON: \(JSON)")
let dict = JSON as! NSDictionary
let base : String = dict["base"] as! String
print("Base:", base)
let date : String = dict["date"] as! String
print("Date:", date)
let rateDict = dict["rates"] as! NSDictionary
let aud : String = rateDict["AUD"] as! String
print("AUD:", aud)
}
在线让aud:String = rateDict [" AUD"]为!字符串标题中提到的消息有错误。这里发生了什么。请有人帮助我。
答案 0 :(得分:2)
您可以将其转换为字符串,
let aud : String = String(rateDict["AUD"])
OR
let aud : String = NSString(format: "%0.2f", rateDict["AUD"]) as String
答案 1 :(得分:0)
它是浮点而不是字符串。 cast是浮动的
let aud = rateDict["AUD"] as! Float
编辑:避免强制转换,因为如果不期望数据,可能会导致应用程序崩溃。 使用下面的代码可以防止崩溃
if let rateDict = dict["rates"] as? [String : Any] {
if let aud = rateDict["AUD"] as? Float {
print("\(aud)")
}
}