使用restkit(0.20)的开发分支,有没有办法将JSON字符串映射到核心数据对象存储?
我知道在 0.10 中,这个 page 底部描述的方法有效,但如何在 restkit 0.20 中执行此操作?任何指导表示赞赏!谢谢!
id<RKParser> parser = [[RKParserRegistry sharedRegistry] parserForMIMEType:MIMEType];
id parsedData = [parser objectFromString:JSONString error:&error];
RKObjectMappingProvider* mappingProvider = [RKObjectManager sharedManager].mappingProvider;
RKObjectMapper* mapper = [RKObjectMapper mapperWithObject:parsedData mappingProvider:mappingProvider];
RKObjectMappingResult* result = [mapper performMapping];
最佳答案
我昨天安装了 RESTKit v0.20.0pre4 并且对一个特定案例有同样的需求。
这是我要映射的 JSON 字符串的示例:
{"info":"the sun is shining","detail":"in Bordeaux ~ 29 °C"}
这就是我执行映射的方式。
- (InfoRESTMapped *)mapInfoFromJSONString:(NSString *) JSONString{
NSString* MIMEType = @"application/json";
NSError* error;
NSData *data = [JSONString dataUsingEncoding:NSUTF8StringEncoding];
id parsedData = [RKMIMETypeSerialization objectFromData:data MIMEType:MIMEType error:&error];
if (parsedData == nil && error) {
//deal with error
}
RKObjectMapping *infoMapping = [RKObjectMapping requestMapping];
[infoMapping addAttributeMappingsFromDictionary:@{
@"info": @"myInfo",
@"detail": @"myDetail",
}];
InfoRESTMapped *infoMapped = [[InfoRESTMapped alloc] init];
RKMappingOperation* mapper = [[RKMappingOperation alloc] initWithSourceObject:parsedData destinationObject:infoMapped mapping:infoMapping];
[mapper performMapping:&error];
return infoMapped;
}
这些帖子让我找到了我建议的解决方案:
希望对你有所帮助。我想当最终版本发布时,其他一些人会提供更好的解决方案(也有更好的文档......)。
关于iphone - 使用 JSON 字符串使用 RestKit 将对象手动加载到核心数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793668/