Десериализовать объект Mantle, используя два формата JSON

Есть ли способ построить объект мантии, используя два разных объекта JSON? Например, скажем, есть класс Address и два следующих формата JSON:

{
    "street: "s",
    "city" : "city",
    "state" : "state",
    "zipcode" "12345"
}

{
    "street_one: "s1",
    "street_two: "s2",
    "apartment" : "apt 1",
    "city" : "city",
    "state" : "state",
    "zip" "12345"
}

[MTLJSONAdapter modelOfClass:[Address class] fromJSONDictionary:JSONDictionary error:&error];

Есть ли где-нибудь в MTLJSONAdapter распознавание двух форматов и назначение или сериализация свойств на их основе?

+ (NSDictionary *)JSONKeyPathsByPropertyKey
{
    if (isJsonV2) {
        // do new mapping
    }
    else {
        // do original mapping
    }
}

Надеюсь сделать что-то, как описано выше, или что-нибудь, что позволяет условно отображать объект.

1 ответ

Решение

Mantle не поддерживает это, но вы можете использовать подкласс для V2, который имеет дополнительную запись улицы, или использовать протокол для инкапсуляции общего поведения.

Другие вопросы по тегам