Я пытаюсь декодировать массив объектов моей модели (Каталог) из JSON, который выглядит так после сериализации соответствующего объекта «Данные».
{ "id" : 5,
"catalogs" : [ {catalogKeyValue1},{catalogKeyValue2}]
}
Мой объект модели выглядит так
struct Catalog : Codable{
var id : Int
var name : String
var categoryId : Int
var minProductPrice : Int
var maxProductDiscount : Int?
var shareText : String
var collageImage : String
var collageImageAspectRatio : Double?
var shipping : [String : Int]?
var description : String
}
Мне нужно получить массив каталогов (который вложен в ключ 'catalogs' в JSON) после декодирования. Я полностью понимаю, как использовать вложенные контейнеры и писать собственный инициализатор для структуры каталога. Как я могу добиться этого без необходимости писать другую структуру Codable для внешний JSOn, который выглядит так
struct CatalogArray: Codable {
var catalogs : [Catalog]
}
а затем сделайте что-то вроде этого, чтобы получить декодированный массив каталогов
let catalogArray = try decoder.decode(CatalogArray.self, from: validData)
Моя проблема в том, что мне не нужна эта структура catalogArray. Есть ли способ декодирования объектов модели Каталога без создания ненужных вложенных структур.
catalogs
, здесь, в struct CatalogArray, и, скажем,newCatalogs
во втором ответе), против которого я получу[Catalog]
в JSON?let catalogArray = try decoder.decode(CatalogArray.self, from: validData)
- person Tarun Bhargava   schedule 08.02.2019