【发布时间】:2011-12-31 07:39:29
【问题描述】:
我有一个如下所示的 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 的映射不支持数组 内部结构。请帮忙。什么是正确的方法?
编辑: 实体:
@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 结果时得到的:( (空值), (空值), (空值), (空值), (空值) )
【问题讨论】:
-
是的,因为你的 key1 的内容是一个数组。您能否发布您的实体以及映射定义?
-
我编辑了这个问题。谢谢!我试图用 NSDictionary 来做,但由于我不知道键,这让我很困惑(
-
不能使用描述作为属性。
标签: objective-c mapping restkit object-object-mapping