繁体   English   中英

Restkit:将数组映射到对象

[英]Restkit: Mapping an array to object

我的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。

有什么想法可以做这样的映射吗?

我最终处理它的方法是向我的对象添加一个数组属性,然后将整个数组映射到该属性(在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];
        }];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM