我想在Jift中将AnyObject从JSON转换为Double。
let value = Double(jsonResult["counter"])
不起作用
let value = jsonResult["counter"] as? Double
不起作用
let value = jsonResult["counter"] as! Double
不起作用
答案 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
}