有很多关于如何将 RestKit 与集成网络堆栈一起使用的示例,但是,我只想获取一个 JSON 字符串,并将其映射到一个对象。
如何使用当前版本 (0.20.x) 的 RestKit 执行此操作?
有很多关于如何将 RestKit 与集成网络堆栈一起使用的示例,但是,我只想获取一个 JSON 字符串,并将其映射到一个对象。
如何使用当前版本 (0.20.x) 的 RestKit 执行此操作?
我确实在文档中找到了答案:
NSString* JSONString = @"{ \"name\": \"The name\", \"number\": 12345}";
NSString* MIMEType = @"application/json";
NSError* error;
NSData *data = [JSONString dataUsingEncoding:NSUTF8StringEncoding];
id parsedData = [RKMIMETypeSerialization objectFromData:data MIMEType:MIMEType error:&error];
if (parsedData == nil && error) {
// Parser error...
}
NSDictionary *mappingsDictionary = @{ @"someKeyPath": someMapping };
RKMapperOperation *mapper = [[RKMapperOperation alloc] initWithRepresentation:parsedData mappingsDictionary:mappingsDictionary];
NSError *mappingError = nil;
BOOL isMapped = [mapper execute:&mappingError];
if (isMapped && !mappingError) {
// Yay! Mapping finished successfully
}