首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在restkit中解析这个restkit?

如何在restkit中解析这个restkit?
EN

Stack Overflow用户
提问于 2016-02-24 07:21:15
回答 1查看 51关注 0票数 1

我对在restkit中解析这种响应感到非常困惑。我正在使用这个链接,但是我无法理解如何解析这个response.Any帮助将不胜感激。

代码语言:javascript
复制
“groups”: {
      "group1": [
        {        
         "email": "blake@restkit.org",        
         "favorite_animal": "Monkey"    
        },
        {        
         "email": "slake@restkit.org",        
         "favorite_animal": "Donkey"    
        }
      ],    
      "group2": [
        {
         "email": "sarah@restkit.org",   
         "favorite_animal": "Cat"
        },
        {
         "email": "varah@restkit.org",   
         "favorite_animal": "Cow"
        }
      ]
    }

我正在使用下面的地图。

代码语言:javascript
复制
@interface GroupResponse : NSObject

@property (nonatomic, strong) NSArray *Groups;

+ (RKObjectMapping *)mapping;

@end

@implementation GroupResponse

+ (RKObjectMapping *)mapping {

    RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[self class]];
    [objectMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@“groups” toKeyPath:@“Groups” withMapping:[GroupData mapping]]];

    return objectMapping;
}
@end



@interface GroupData : NSObject

@property (nonatomic, strong) NSString *groupName;
@property (nonatomic, strong) NSString *arrPersons;

+ (RKObjectMapping *)mapping;

@end

@implementation GroupData

+ (RKObjectMapping *)mapping {

    RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[self class]];

    objectMapping.forceCollectionMapping = YES;
    [objectMapping addAttributeMappingFromKeyOfRepresentationToAttribute:@"groupName"];

    [objectMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@“(groupName)” toKeyPath:@"arrPersons" withMapping:[Person mapping]]];

    return objectMapping;
}

@end


@interface Person : NSObject

@property (nonatomic, strong) NSString *email;
@property (nonatomic, strong) NSString *favAnimal;

+ (RKObjectMapping *) mapping;
@end

@implementation Person

+ (RKObjectMapping *)mapping {

    RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[self class]];

    [objectMapping addAttributeMappingsFromDictionary:@{@"email" : @"email",
                                                        @"favorite_animal" : @"favAnimal"}];

    return objectMapping;
}

@end

每次arrPersons都是零。如何在这种情况下进行适当的映射。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-24 09:28:34

这个属性:

代码语言:javascript
复制
@property (nonatomic, strong) NSString *arrPersons;

实际上应该是可变数组,而不是字符串类型:

代码语言:javascript
复制
@property (nonatomic, strong) NSMutableArray *arrPersons;

因为嵌套的JSON数组不能转换为字符串,并且映射指示应该将其处理为Person对象的数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35595715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档