使用Alamofire解析JSON

时间:2015-10-15 09:24:04

标签: json swift http swift2

我已经尝试解析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返回。 有人有想法吗?

1 个答案:

答案 0 :(得分:1)

if let value = Float(val as String) {
   return value
} else {
   return 0.0
}

但实际上它并没有帮助你,因为responseJSON { response in是异步回调,你肯定要阅读它。