我正在尝试为一些奇怪的结构化JSON制作动态映射。 我有“数组映射到对象”类型的thins,以便数组索引 ake键例如:
{
"0": {object},
"1": {another object},
"2": {yet another object},
...
}
所有对象都属于同一类型,因此可以使用相同的方法对它们进行解析 映射,但如何处理不同的键名?
答案 0 :(得分:3)
查看"处理动态嵌套属性"在Object Mapping docs。
他使用JSON:
查看示例(此处复制){ "blake": {
"email": "blake@restkit.org",
"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"];
希望这有帮助!