用Alamofire解析JSON
问题描述:
由于五个小时我试图解析json响应。 响应看起来像这样。用Alamofire解析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
}
的打印(VAL)打印可选(45.7295)
但我不知道如何返回这个值作为浮动。 有没有人有想法?
答
if let value = Float(val as String) {
return value
} else {
return 0.0
}
但实际上它并不能帮助你,因为responseJSON { response in
是异步回调,你一定要了解它。
+0
它适合我!如果让value = Float((val?。stringValue)!){ result = value } else { result = 0.0 } if let value = – LaMiy
“45.7295”不是浮子吗? –
你可以试试[SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON),它可以和Alamofire一起使用。 –
是swiftyjson应该是明显的选择,因为它会让你的生活变得更好。 –