Я новичок в Swift, и мне нужно сериализовать структуру объекта в строку JSON в моем проекте iOS (iOS> = 8). Итак, я решил использовать библиотеку ObjectMapper (я интегрировал ее с Cocoapod).Как использовать наследование с Swift и ObjectMapper?
Но моя проблема в том, что структура следующая.
ObjectA может иметь список дочерних объектов в виде массива, хранящегося в переменной экземпляра. Объекты, которые могут быть сохранены в массиве экземпляров, могут быть нескольких типов, например ObjectB и ObjectC. Таким образом, в Java с GSON я бы создал интерфейсDD и сделал оба моих класса реализовать его и сделал массив в типах интерфейса ObjectA StoreD, но я не могу понять, как это сделать с объектной моделью Swift, поскольку это приводит к пустым {}
Объекты JSON.
В результате JSON должен выглядеть следующим образом.
{"children":[
{"type":"ObjectB", "value1":"foo"},
{"type":"ObjectC", "value1":"bar", "value2":"baz"}
]}
и я получаю
{"children":[
{},
{}
]}
Обратите внимание, что две записи, которые должны быть сериализовать от Objecta и ObjectC должны иметь различные структуры.
Я пробовал несколько вещей, но каждый раз я застрял в тупике. Я пробовал использовать генераторы, пытался использовать протокол Mappable в качестве моего типа массива, я пробовал классическое наследование классов, но никто не сработал.
Вы знаете, как я могу это достичь?
Обратите внимание, что я знаю, что я мог бы добавить функцию сериализации для каждого объекта и получить строки рекурсивно и объединить их. Но я действительно хочу избежать реализации JSON-сериализатора самостоятельно, поскольку я уже успешно использую, поскольку Alamofire уже используется в проекте). Также внедрение нового сериализатора является склонным к ошибкам, а не чистым способом решения проблемы IMO.
Большое спасибо.