Проблема с печатью значения данных JSON из запроса POST - PullRequest
0 голосов
/ 28 июня 2019

По существу, у меня есть следующая функция, которая отвечает на запрос POST и отображает данные JSON.

Я хотел бы просто напечатать результаты этих данных, напечатав значение del_tex

Вверхняя часть ViewController Я определяю структуру переменных следующим образом:

var structure = [NotesStructure]()

NotesStructure - это структура полученного JSON:

import UIKit

struct NotesStructure: Codable {
    let del_tex: String

}

Ниже приведена функция JSON, которая выбирает и обрабатывает данные,Я пытаюсь напечатать значение del_tex, но получаю ошибку, что структура не имеет значения del_tex

private func fetchJSON() {
    guard let url = URL(string: "https://example.com/example/example"),
        let value = driverName.addingPercentEncoding(withAllowedCharacters: .urlQueryValueAllowed)
        else { return }

    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    request.httpBody = "person=\(driverName)&serial=\(peronNum)".data(using: .utf8)

    URLSession.shared.dataTask(with: request) { data, _, error in
        guard let data = data else { return }


        do {
            self.structure = try JSONDecoder().decode([NotesStructure].self,from:data)
            DispatchQueue.main.async {

                print(self.structure.del_tex)

            }
        }
        catch {
            print(error)
        }

        }.resume()

}

1 Ответ

1 голос
/ 28 июня 2019

Ваш результат - массив, поэтому вам сначала нужно получить доступ к массиву, либо только к первому элементу

do {
     self.structure = try JSONDecoder().decode([NotesStructure].self,from:data)
     if let first = self.structure.first {
          print(first.del_tex)
     }
 ...

или распечатать весь массив

do {
     self.structure = try JSONDecoder().decode([NotesStructure].self,from:data)
     for item in self.structure {
          print(item.del_tex)
     }
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...