从本地文件获取对象中数据的问题

时间:2019-05-11 22:24:56

标签: ios json swift jsondecoder

我正在与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)
        }

1 个答案:

答案 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。