我使用SwiftyJSON来解析JSON . 我将结果放在一个数组中,这里:
func getData() {
RestApiManager.sharedInstance.retrieveJsonInfo { (json: JSON) in
let results: JSON = json["quotes"]
print(results)
for (x, y) in results {
}
}
}
print(结果)确实打印了我期望的结果 . 字典的类型(String,JSON),但键值对存在(String:Int)(如果这有意义) . 我想遍历每个键值对,并将字符串附加到字符串数组,并将整数附加到Ints数组 . 我怎样才能做到这一点?
我试过这个:
for (x, y) in results {
self.currencyNamesArray.append(x) as! String
self.numberArray.append(y) as! Int
}
第一行给了我一个错误:“从()转换为无关类型字符串总是失败”
并且第二行给出了一个错误:“无法将类型”JSON“的值转换为”Int“类型的预期值
如何从JSON格式获得结果并将其转换为swift字典或NSDictionary?
编辑:答案是:
for (x, y) in results {
self.currencyNamesArray.append(x)
self.numberArray.append(y.intValue)
}
self.tableView.reloadData()
x已经是String类型,因此不需要额外的工作 . 对于int值,我只需要调用.intValue方法 .
1 回答
您可以使用以下函数从SwiftyJSON对象获取int或字符串:.stringValue,.intValue,.boolValue,.doubleValue等 .