使用两种JSON格式反序列化Mantle对象

时间:2015-11-16 18:22:18

标签: objective-c json github-mantle

有没有办法使用两个不同的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 个答案:

答案 0 :(得分:1)

Mantle不支持此功能,但您可以使用具有额外街道入口的V2子类,或使用协议来封装共享行为。