1
我試圖做一個有點怪異的結構化JSON的動態映射。 我有「數組映射爲對象的」之類的變薄,使數組的索引 AKE鍵如:RestKit:如何爲不同的鍵名映射
{
"0": {object},
"1": {another object},
"2": {yet another object},
...
}
所有的對象都是同一類型的,使他們能夠使用相同的 映射進行分析,而如何應對有不同的關鍵名稱?
我試圖做一個有點怪異的結構化JSON的動態映射。 我有「數組映射爲對象的」之類的變薄,使數組的索引 AKE鍵如:RestKit:如何爲不同的鍵名映射
{
"0": {object},
"1": {another object},
"2": {yet another object},
...
}
所有的對象都是同一類型的,使他們能夠使用相同的 映射進行分析,而如何應對有不同的關鍵名稱?
查看Object Mapping docs中的「處理動態嵌套屬性」部分。
他走過一個例子(這裏複製)與JSON:
{ "blake": {
"email": "[email protected]",
"favorite_animal": "Monkey"
}
}
對應於用戶等級:
@interface User : NSObject
@property (nonatomic, retain) NSString* email
@property (nonatomic, retain) NSString* username;
@property (nonatomic, retain) NSString* favoriteAnimal;
@end
其中,你會發現,用戶名屬性對應於JSON的鍵。
爲了映射它,他用的是特殊的括號語法來表明他們密鑰本身的屬性:
RKObjectMapping* mapping = [RKObjectMapping mappingForClass:[User class] ];
[mapping mapKeyOfNestedDictionaryToAttribute:@"username"];
[mapping mapFromKeyPath:@"(username).email" toAttribute:"email"];
[mapping mapFromKeyPath:@"(username).favorite_animal" toAttribute:"favoriteAnimal"];
希望這有助於!
restKit現在已更新,您應該使用['addAttributeMappingFromKeyOfRepresentationToAttribute'](https://github.com/RestKit/RestKit/wiki/Object-mapping#handling-dynamic-nesting-attributes) – chakming