我已经尝试解析json响应五个小时了。 响应看起来像这样。
{
"USD_PHP" = {
val = "45.7295";
};
}
我在swift2中使用此方法来发出请求。
func GetRate() -> Float
{
Alamofire.request(.GET, "http://free.currencyconverterapi.com/api/v3/convert?q=USD_PHP&compact=y")
.responseJSON { response in
if let json = response.result.value {
print(json)
let usd = json as! NSDictionary
print(usd)
let dict = usd["USD_PHP"] as! NSDictionary
let val = dict.objectForKey("val") as! NSString //?
print(val)
// ?
return Float(val as String)
}
}
return 0.0
}
print(val)打印可选(45.7295)
但我不知道如何将此值作为float返回。 有人有想法吗?
答案 0 :(得分:1)
if let value = Float(val as String) {
return value
} else {
return 0.0
}
但实际上它并没有帮助你,因为responseJSON { response in
是异步回调,你肯定要阅读它。