Arrays 如何将字典数组存储到类变量中?

Arrays 如何将字典数组存储到类变量中?,arrays,json,swift,dictionary,Arrays,Json,Swift,Dictionary,我有一个从JSON文件读取的字典数组,如下所示。我想将该值(jsonResult)存储到一个类变量中,以便使用它填充tableview。但是,我不太明白如何存储该值 下面是我获取字典数组(jsonResult)的方法: 这是我的类变量,我想将字典数组存储到其中: var tableData = [Dictionary<String, String>]() var tableData=[Dictionary]() 如何将jsonResult正确存储到tableData中?我不想使用

我有一个从JSON文件读取的字典数组,如下所示。我想将该值(jsonResult)存储到一个类变量中,以便使用它填充tableview。但是,我不太明白如何存储该值

下面是我获取字典数组(jsonResult)的方法:

这是我的类变量,我想将字典数组存储到其中:

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
}