Не могу распарсить JSON, проблема в том как сделать структуру по нее
Как распрасить такое? Пытался через кодабл, но тут меня сильно смущает первый "data" внутри которого получается лежат три разных объекта, вот тут то и проблемы начинаются (у меня), обычные json парсятся легко, может есть примеры кода подобного этому, все никак не могу разобраться:
{
"data": [{
"name": "title",
"data": {
"text": "SomeText»"
}
}, {
"name": "picture",
"data": {
"url": "someUrl",
"text": "text"
}
}, {
"name": "selector",
"data": {
"selectedId": 1,
"variants": [{
"id": 0,
"text": "text1"
}, {
"id": 1,
"text": "text2"
}, {
"id": 2,
"text": "text3"
}
]
}
}
],
"view": ["title", "selector", "picture", "title"]
}
Ответы (1 шт):
Автор решения: motpfofs
→ Ссылка
Предлагаю вам воспользоваться этим ресурсом: https://app.quicktype.io/ Вот пример того, что получилось:
import Foundation
// MARK: - Welcome
struct Welcome: Codable {
let data: [Datum]
let view: [String]
}
// MARK: - Datum
struct Datum: Codable {
let name: String
let data: DataClass
}
// MARK: - DataClass
struct DataClass: Codable {
let text, url: String?
let selectedID: Int?
let variants: [Variant]?
enum CodingKeys: String, CodingKey {
case text, url
case selectedID = "selectedId"
case variants
}
}
// MARK: - Variant
struct Variant: Codable {
let id: Int
let text: String
}