将JSON AnyObject转换为Double(Swift)

时间:2015-08-16 20:04:29

标签: xcode swift casting

我想在Jift中将AnyObject从JSON转换为Double。

let value = Double(jsonResult["counter"])不起作用

let value = jsonResult["counter"] as? Double不起作用

let value = jsonResult["counter"] as! Double不起作用

1 个答案:

答案 0 :(得分:9)

字典中的数字(/来自JSON)通常是NSNumber。您可以使用(jsonResult["counter"] as? NSNumber).doubleValue。 (Double类型本身不是一个类,所以它不能是AnyObject。)

修改:听起来服务器正在返回您的数据as a string,例如{"counter": "1234"}

在这种情况下,您可以利用名为doubleValue的NSString方法来解析字符串(或者您可以使用integerValue):

if let counter = (parseJSON["counter"] as? NSString)?.doubleValue {
    // do something
}