您应该能够使用 RKValueTransformer 为您执行此操作。基本上,这些是用于在本机类型和 JSON 响应之间进行映射的对象(反之亦然)。
这是我的将base64字符串(可能来自JSON)转换为NSData。
[RKValueTransformer.defaultValueTransformer
insertValueTransformer:
[RKBlockValueTransformer
valueTransformerWithValidationBlock:^BOOL(__unsafe_unretained Class inputValueClass, __unsafe_unretained Class outputValueClass) {
return [inputValueClass isSubclassOfClass:[NSString class]] && [outputValueClass isSubclassOfClass:[NSData class]];
}
transformationBlock:^BOOL(id inputValue, __autoreleasing id *outputValue, __unsafe_unretained Class outputClass, NSError *__autoreleasing *error) {
RKValueTransformerTestInputValueClassIsSubclassOfClass(outputClass, [NSString class], error);
RKValueTransformerTestOutputValueClassIsSubclassOfClass(outputClass, [NSData class], error);
// If iOS7+
//*outputValue = [[NSData alloc] initWithBase64EncodedString:(NSString*)inputValue options:0];
// If iOS6-
*outputValue = [[NSData alloc] initWithBase64Encoding:(NSString*)inputValue];
return YES;
}] atIndex:0];