从本地文件获取对象中数据的问题
Issue to get data in object from local file
我正在使用 UITableView
并尝试从本地 .json 文件加载数据。
我的 .json 文件名为 Result.json。但是我无法使用 JSONDecoder().decode
.
获取 json 数据
Result.json 有一个名为 "result" 的数组。我必须将该结果添加到我的 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)
}
您不需要使用 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。
我正在使用 UITableView
并尝试从本地 .json 文件加载数据。
我的 .json 文件名为 Result.json。但是我无法使用 JSONDecoder().decode
.
Result.json 有一个名为 "result" 的数组。我必须将该结果添加到我的 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)
}
您不需要使用 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。