Как определить структуру в iOS XCode для JSON? - PullRequest
0 голосов
/ 12 июля 2020

Поскольку iOS не знаком с XCode, я пытаюсь создать структуру для представления данных JSON. Однако, независимо от того, что я пытаюсь определить для «сегментов» (которые состоят из int и массива строк), XCode просто выдает ошибки, и когда я пытаюсь следовать предложенным исправлениям, он просто генерирует другие ошибки.

Кто-нибудь знает как на самом деле определить структуру для JSON с именем, например, без использования «ANY», поскольку все пары имя-значение и типы данных известны?

Пример XCODE ( один вариант показан ниже, хотя были опробованы десятки и возникли ошибки):

struct Information: Decodable {
    var entry: [Entry]
}
struct Entry: Decodable {
    var section: Int
    ***ERROR HERE ->*** var segments: Array<var id: Int, var values: Array<String>>
}

Пример JSON:

{
  "entry": [
    {
      "section": 1,
      "segments": [
        {
          "id": 1,
          "values": ["1", "2", "3"]
        },
        {
          "id": 2,
          "values": [ "4", "5", "6" ]
        }
      ]
    },
    {
      "section": 2,
      "segments": [
        {
          "id": 1,
          "values": ["7", "8", "9"]
        },
        {
          "id": 2,
          "values": [ "a", "b", "c" ]
        }
      ]
    }
  ]
}

1 Ответ

1 голос
/ 12 июля 2020

То же, что и на верхнем уровне: вы должны создать структуру для нижнего уровня.

struct Information: Decodable {
    let entry: [Entry]
}
struct Entry: Decodable {
    let section: Int
    let segments: [Segment]
}
struct Segment: Decodable {
    let id: Int 
    let values: [String]
}
...