RestKit:如何为不同的键名进行映射

我正在尝试为一些奇怪的结构化JSON进行动态映射。 我有“数组映射到对象”类型的thins,以便数组索引ake键,例如:

{ "0": {object}, "1": {another object}, "2": {yet another object}, ... } 

所有对象都是相同的类型,因此可以使用相同的映射解析它们,但是如何处理不同的键名?

查看对象映射文档中的“处理动态嵌套属性”部分。

他使用JSON遍历一个示例(复制到此处):

 { "blake": { "email": "blake@restkit.org", "favorite_animal": "Monkey" } } 

对应于User类:

 @interface User : NSObject @property (nonatomic, retain) NSString* email @property (nonatomic, retain) NSString* username; @property (nonatomic, retain) NSString* favoriteAnimal; @end 

您会注意到,username属性对应于JSON的密钥

为了映射它,他使用一个特殊的括号语法来表明它们自己键是一个属性:

 RKObjectMapping* mapping = [RKObjectMapping mappingForClass:[User class] ]; [mapping mapKeyOfNestedDictionaryToAttribute:@"username"]; [mapping mapFromKeyPath:@"(username).email" toAttribute:"email"]; [mapping mapFromKeyPath:@"(username).favorite_animal" toAttribute:"favoriteAnimal"]; 

希望这可以帮助!