我的JSON看起来像这样:
[ [value1, value2, value3], [value1, value2, value3]]
我想迭代外部数组,并将每个内部数组映射到一个对象,例如:
@interface MyObject : NSObject
@property (nonatomic, copy) NSString* key1;
@property (nonatomic, copy) NSString* key2;
@property (nonatomic, copy) NSString* key3;
@end
对于示例JSON,我应该得到两个映射对象,例如MyObject1,MyObject2,其中MyObject1映射到第一个内部数组,MyObject2映射到第二个内部数组。每个都将其属性映射到数组中的相应值,即key1 == value1,key2 == value2和key3 == value3。
有什么想法可以做这样的映射吗?
答案 0 :(得分:0)
我最终处理它的方法是向我的对象添加一个数组属性,并将整个数组映射到该属性(NSManagedObject子类的可转换属性)
RKEntityMapping *responseMapping = [RKEntityMapping mappingForEntityForName:@"MyObject" inManagedObjectStore:managedObjectStore];
[responseMapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:nil toKeyPath:@"values"]];
映射完成后,我在完成块中分配其余值:
^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
[mappingResult.array enumerateObjectsUsingBlock:^(MyObject *obj, NSUInteger idx, BOOL *stop) {
obj.key1 = obj.values[0];
obj.key2 = obj.values[1];
obj.key3 = obj.values[2];
}];