Проблема получения данных в объекте из локального файла - PullRequest
0 голосов
/ 12 мая 2019

Я работаю с UITableView и пытаюсь загрузить данные из локального файла .json.

Мое имя файла .json Result.json .Но я не смог получить данные 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)
        }

1 Ответ

1 голос
/ 12 мая 2019

Вам не нужно использовать 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.

...