我对在restkit中解析这种响应感到非常困惑。我正在使用这个链接,但是我无法理解如何解析这个response.Any帮助将不胜感激。
“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"
}
]
}我正在使用下面的地图。
@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都是零。如何在这种情况下进行适当的映射。
发布于 2016-02-24 09:28:34
这个属性:
@property (nonatomic, strong) NSString *arrPersons;实际上应该是可变数组,而不是字符串类型:
@property (nonatomic, strong) NSMutableArray *arrPersons;因为嵌套的JSON数组不能转换为字符串,并且映射指示应该将其处理为Person对象的数组。
https://stackoverflow.com/questions/35595715
复制相似问题