我会从每个字典中创建一个结构并将这些结构存储在一个数组中。
结构:
struct MyObject {
let id: Int
let name: String
let rating: Int
}
存储结构实例的数组:
var objects: [MyObject] = []
让 SwiftyJSON 解析你的 JSON 数据:
let jsonArray = JSON(data: myData)
创建结构并将它们附加到新数组中:
for (index, dict) in jsonArray {
let thisObject = MyObject(id: dict["id"].intValue, name: dict["name"].stringValue, rating: dict["rating"].intValue)
objects.append(thisObject)
}
现在您有了一个反映 JSON 内容的 Swift 结构(当然也可以是类)数组:
for object in objects {
print("ID: \(object.id), NAME: \(object.name), RATING: \(object.rating)")
}
打印:
ID:1,名称:香蕉,评分:4
ID:2,名称:Tacos,评分:3
ID:3,名称:Apple,评分:5
请注意,我正在使用 SwiftyJSON 的非可选 getter,.intValue 和 .stringValue,因为我假设这些字段将始终存在。如果您认为可能存在 nil,则应将结构属性设为可选,并使用可选的 getter .int 和 .string。