Arrays 如何将字典数组存储到类变量中?
我有一个从JSON文件读取的字典数组,如下所示。我想将该值(jsonResult)存储到一个类变量中,以便使用它填充tableview。但是,我不太明白如何存储该值 下面是我获取字典数组(jsonResult)的方法: 这是我的类变量,我想将字典数组存储到其中:Arrays 如何将字典数组存储到类变量中?,arrays,json,swift,dictionary,Arrays,Json,Swift,Dictionary,我有一个从JSON文件读取的字典数组,如下所示。我想将该值(jsonResult)存储到一个类变量中,以便使用它填充tableview。但是,我不太明白如何存储该值 下面是我获取字典数组(jsonResult)的方法: 这是我的类变量,我想将字典数组存储到其中: var tableData = [Dictionary<String, String>]() var tableData=[Dictionary]() 如何将jsonResult正确存储到tableData中?我不想使用
var tableData = [Dictionary<String, String>]()
var tableData=[Dictionary]()
如何将jsonResult正确存储到tableData中?我不想使用struct,因为字典的结构可能会有所不同。您声明JSON是一个字典数组,但您正在将
JSONSerialization.jsonObject
的结果转换为一个字典。由于您似乎需要一个包含字符串键和值的字典数组,因此相应地强制转换结果。但是要安全。永远不要使用代码>使用JSON时
if let jsonResult = try JSONSerialization.jsonObject(with: data, options: .mutableLeaves) as? [[String:String]] {
self.tableData = jsonResult
} else {
// Error - unexpected JSON result
}
这假设您想要JSON结果的顶层。如果实际上jsonResult
应该是一个字典,并且顶级字典有一个指向所需字典实际数组的键,那么您需要相应地修复代码
if let jsonResult = try JSONSerialization.jsonObject(with: data, options: .mutableLeaves) as? [[String:String]] {
self.tableData = jsonResult
} else {
// Error - unexpected JSON result
}