ここに次のような JSON があります。
{
"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 を使用しないマッピングでは配列を内部構造としてサポートしていないことを Web で見ました。助けてください。ここで正しいアプローチは何ですか?
編集:エンティティ:
@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), (null), (null), (null) )