Десериализовать объект 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, который имеет дополнительную запись улицы, или использовать протокол для инкапсуляции общего поведения.