我正在尝试使用RestKit读取以下Json数据,并且我不确定我是否正确接近它。 我所做的是将用户登录到服务器并获得带有令牌和一些链接的响应。
example Json
{
"links": {
"map1": {
"href": "https://www.website/mapToThis"
},
"map2": {
"href": "https://www.website/mapToThat"
}
},
"token": "12345678912345678"
}
我创建了一个要映射的类,并且获取令牌值没问题。
·H
@interface UserApiMap : NSObject
@property (strong, nonatomic) NSString* token;
@property (nonatomic, retain) NSArray* links;
+ (RKObjectMapping *) mapping;
@end
.m - 制图
+ (RKObjectMapping *)mapping {
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[self class]];
[mapping addAttributeMappingsFromDictionary:@{@"token" : @"token"}];
// How do I map the links??
return mapping;
}
所以我的问题是我需要一个数组来保存链接,还是我需要第二个类来映射链接。如果我需要第二个类,我需要两个属性'map1'和'map2',这将是类型链接的第三类。
任何能让我走上正轨的输入都将受到极大的赞赏和帮助。
答案 0 :(得分:1)
您最初的问题是您有NSArray* links
- 即所需的链接数组,以及"links": {
- 即提供的链接字典。 RestKit无法在这些数据结构之间自动转换。
如果您要将所需内容更改为NSDictionary* links
并为@"links" : @"links"
添加简单映射,则RestKit会将字典映射出来。然后,您可以像往常一样查询字典(包括直接访问和KVC - 它可以为您提供一系列链接)。这是最简单的选择。
如果你想特意存储一系列链接,那就更容易了: