已经有帖子在谈论这个,但我仍然无法弄清楚我的问题。
我正在访问我的数据库并将响应转换为 JSON 对象 - 这部分工作正常。这是它的代码。 joArray
现在有了我需要的数据。
//Convert data to json object
let joArray : NSArray
do {
joArray = try JSONSerialization.jsonObject(with: data, options: []) as! NSArray
}
catch {
print(responseString)
print("error trying to convert data to JSON")
return
}
如果我打印出 joArray 。 . .
print(joArray)
. . .这就是我得到的。
(
{
FirstName = Bob;
},
{
FirstName = Bill;
}
)
我如何将这些数据放入一个 swift 数组中,使其看起来像这样?
let FirstNameArray = ["Bob", "Bill"]
FirstName 将始终处于相同位置,但会有不同数量的用户(Bob、Bill、Mary 等)。
最佳答案
如果您改用原生 Swift 数组,您的生活会更轻松。因此,首先更改您的数组定义:
let joArray: [[String: Any]]
do {
joArray = try JSONSerialization.jsonObject(with: data, options: []) as! [[String: Any]]
} catch {
// etc...
}
现在,构建所需的数组很简单:
let FirstNameArray = swiftArray.flatMap { $0["FirstName"] }
你应该使用 flatMap
, 而不是 map
,因为给定的数组项可能没有名为 "FirstName"
的属性.
关于arrays - 在 Swift 中将 JSON 嵌套到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40980328/