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

Deserialize Mantle object using two JSON formats

有没有一种方法可以使用两个不同的 JSON 对象来构造地幔对象?例如,假设有一个地址 class 和以下两个 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];

MTLJSON适配器中有什么地方可以识别两种格式并根据它们分配或序列化属性吗?

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

希望做一些类似上面的事情,或者任何允许有条件地映射到对象的东西。

Mantle 不支持这一点,但您可以使用具有额外街道条目的 V2 的子类,或者使用协议来封装共享行为。