Массив Codable структур, возможно декодированных из объекта данных JSON - PullRequest
0 голосов
/ 18 мая 2018

У меня есть этот кусок кода:

struct NoteRecord: Codable {

let id: String
let title: String
let detail: String?
let dueDate: String?

private enum CodingKeys: String, CodingKey {
    case id, title, detail, dueDate
}}

и часть синтаксического анализа:

do {
     let decoder = JSONDecoder()
     let note = try decoder.decode(NoteRecord.self, from: data)

      } catch let err {
          print("Error occured:", err)
      }

Есть ли способ использовать это, когда REST API возвращает массив объектов для декодированияданные правильно как массив структур?

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Да, просто используйте это:

do {
     let decoder = JSONDecoder()
     let notes = try decoder.decode([NoteRecord].self, from: data)

      } catch let err {
          print("Error occured:", err)
      }

Если вы используете [YourCodableStruct].self, вы анализируете массив.Если вы используете YourCodableStruct.self, вы анализируете структуру.

0 голосов
/ 18 мая 2018

Вы можете реализовать другую структуру для хранения массива.

struct NoteRecords: Codable {
    var list: [NoteRecord] // You should change the var name and coding keys
}

И проанализировать ее как

let note = try decoder.decode(NoteRecords.self, from: data)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...