2015-11-16 60 views
1

有沒有一種方法可以使用兩個不同的JSON對象來構造地幔對象?例如,假設有一個Address類和以下兩個JSON格式:使用兩種JSON格式反序列化Mantle對象

{ 
    "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

地幔不支持這一點,但您可以使用V2的子類,它具有額外的街道入口,或使用協議來封裝共享行爲。