【发布时间】:2015-11-13 13:35:31
【问题描述】:
我正在使用 SwiftyJSON 来解析 JSON。我有一个数组中的结果,在这里:
func getData() {
RestApiManager.sharedInstance.retrieveJsonInfo { (json: JSON) in
let results: JSON = json["quotes"]
print(results)
for (x, y) in results {
}
}
}
print(results) 确实打印了我期望的结果。字典的类型为 (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 方法就可以了。
【问题讨论】:
-
您可以使用以下函数从 SwiftyJSON 对象中获取一个 int 或一个字符串:.stringValue、.intValue、.boolValue、.doubleValue 等。
-
如果您将其作为答案发布,我可以将其标记为正确。