我是否需要为我得到的 json 的所有对象创建映射?

do i need to create mapping for all objects of json that i get?

我对休息套件有疑问。

我是否需要为我得到的 json 的所有对象创建映射?或者我可以只为其中一些对象提供映射,即使我没有为我从互联网加载的某些对象创建映射,restkit 也能正常工作?

比如有这个类

@interface RKAUser : NSObject

@property (strong, nonatomic) NSString* nameString;

@property (strong, nonatomic) RKCard* card;

@end



@interface RKACard : NSObject

@property (strong, nonatomic) NSString* numberString;

@end



+ (RKMapping *)userMapping {
    RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[RKAUser
 class]];

    [mapping addAttributeMappingsFromArray:@[@"nameString"]];

    return mapping;
}

我有 json 大约 20 个用户的信息在哪里 在这个 json 中有所有用户信息,包括 nameString 和他的卡片 numberString。

但我只为 nameString 创建映射,没有为 card 创建映射

这个例子的问题是这段代码会工作还是会崩溃可能是因为我没有提供所有映射

另一个问题

我可以使用 restkit 来映射任何 json 信息吗? 信息是否应该绝对来自某种休息服务器或休息套件可以映射来自任何服务器的 json 信息?如果信息不是来自服务器,它会工作吗?

您只需实施在创建映射时使用的属性。

JSON 不需要来自服务器。您可以获取任何 JSON 文档,然后自己解析它并使用 RKMapperOperation 结果。

RKMapperOperation *operation = [[RKMapperOperation alloc] initWithRepresentation:parsedJSON mappingsDictionary:yourMappingsDictionary];
NSError *error = nil;
[operation execute:&error];
if (!error) {
   NSArray *result = mapper.mappingResult.array;
}