Я декодирую JSON, используя Decodable с init (из декодера :), но не могу разобрать мой вложенный JSON.
JSON, который я пытаюсь проанализировать: основной конфликт, который я считаю, - это анализ массива ребер.Цель состоит в том, чтобы получить модель, которую я могу использовать с ключом, значением и пространством имен.Потребовалось бы использовать init (from decoder:).
{
"data": {
"collectionByHandle": {
"metafields": {
"edges": [
{
"node": {
"key": "city",
"value": "Fayetteville ",
"namespace": "shipping"
}
},
{
"node": {
"key": "country",
"value": "United States",
"namespace": "shipping"
}
},
{
"node": {
"key": "state",
"value": "AR",
"namespace": "shipping"
}
}
]
}
}
},
"errors": null
}
Технически это работает, но требуется использовать init (from decoder:) и возвращать модель, которая просто имеет ключ, значение и пространство имен, не имея нескольких отдельныхструктуры / классы.
struct Shipping: Codable {
let data: DataClass
let errors: String?
}
struct DataClass: Codable {
let collectionByHandle: CollectionByHandle
}
struct CollectionByHandle: Codable {
let metafields: Metafields
}
struct Metafields: Codable {
let edges: [Edge]
}
struct Edge: Codable {
let node: Node
}
struct Node: Codable {
let key, value, namespace: String
}