我正在与UITableView
合作,并尝试从本地.json文件加载数据。
我的.json文件名为 Result.json 。但是我无法使用JSONDecoder().decode
获取json数据。
Result.json具有一个名为“结果”的数组。而且我必须将该结果添加到我的 self.resultArray 中。
我尝试了一些代码:
let url = Bundle.main.url(forResource: "Result", withExtension: "json")!
let jsonData = try! Data(contentsOf: url)
do {
let jsonFromWeb = try JSONDecoder().decode(JSONFromWeb.self, from: jsonData)
DispatchQueue.main.async {
self.resultArray = jsonFromWeb.result
self.tableView.reloadData()
}
} catch {
print(error)
}
答案 0 :(得分:1)
您不需要使用JSONDecoder
。
请检查我更新的代码:
let jsonData = try! Data(contentsOf: url, options: .mappedIfSafe)
do {
let jsonFromWeb = try JSONSerialization.jsonObject(with: jsonData)
DispatchQueue.main.async {
self.resultArray = jsonFromWeb.result
self.tableView.reloadData()
}
} catch {
print(error)
}
注意:您必须序列化JSON。