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"];
希望这可以帮助!