我有一個JSON看起來像這樣的位置:RestKit任意鍵對象映射
{
"key1":[
{
"desc":"key1decs.",
"duration":50;
},{
"desc":"",
"duration":90;
},{
"desc":"Kurz vor...",
"duration":30;
}
],
"key2":[
{
"desc":"key2decs.",
"duration":50;
},{
"desc":"blabla",
"duration":90;
}
]
}
我試圖做一個映射。但我因爲不同的/不同的密鑰而被卡住了。我試圖沒有KVC的映射,但似乎不是 正在工作。給我的錯誤: 失敗的keyPath'key1.desc'處的值轉換。 沒有策略從'__NSArrayI'轉換爲'NSString'。等等每 屬性。 我在網上看到,沒有KVC的映射不支持數組作爲 內部結構。 Plz,幫忙。這裏的正確方法是什麼?
編輯: 實體:
@interface Sendung : NSObject
@property (nonatomic, strong) NSString *description;
@property (nonatomic, strong) NSNumber *duration;
@property (nonatomic, strong) NSNumber *sendungkey;
@end;
控制器:
RKObjectMapping* mapping = [RKObjectMapping mappingForClass:[Sendung class]];
mapping.forceCollectionMapping = YES;
[mapping mapKeyOfNestedDictionaryToAttribute:@"sendungkey"];
[mapping mapKeyPath:@"(sendungkey).desc" toAttribute:@"description"];
[mapping mapKeyPath:@"(sendungkey).duration" toAttribute:@"duration"];
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:mapping ];
mapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[Sendung class] ];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:url objectMapping:mapping delegate:self];
這是我得到的時候NSlogin結果:( (空), (空), (空) (null), (null) )
是的,因爲你的key1的內容是一個數組。你可以請張貼你的實體以及映射定義嗎? – mja
我編輯了這個問題。謝謝!我嘗試使用NSDictionary,但由於我不知道密鑰,這使我很困惑( – Nigul
不能使用描述作爲屬性。 –