Я использую RESTKIT для сопоставления JSON, возвращенного с сервера.
Результат JSON, полученный с сервера, выглядит следующим образом
{"term":"Zh","results":{"users":[{"id":{"$oid":"4ebe59970a614e0019000055"},"term":"some text","score":1}]}
Как преобразовать приведенный выше результат JSON в следующий:
{"results":{"users":[{"uid":"4ebe59970a614e0019000055","text":"some text"}]}
Также, где я могусделать так, чтобы отображение RESTKIT использовало преобразованный JSON вместо исходного?
Ниже приведен класс загрузчика, который я использую для управления JSON и сопоставлениями
-(void)getObjects
{
RKObjectManager *sharedManager = [RKObjectManager sharedManager];
[sharedManager loadObjectsAtResourcePath:self.resourcePath delegate:self];
}
- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {
NSLog(@"Loaded PAYLOAD successfully for %@, with response %@", self.resourcePath , [response bodyAsString] );
}
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects
{
}
+ (void)setManagerAndMappings
{
RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:SERVER_URL];
RKObjectMappingProvider* provider = [[RKObjectMappingProvider new] autorelease];
//User Object Mapping
RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[User class]];
[userMapping mapKeyPath:@"_id" toAttribute:@"uid"];
[userMapping mapAttributes:@"avatar_url",@"created_at",@"email",@"name",@"nickname",@"follower_count",@"following_count",@"answer_count",@"new_notification_count",@"new_questions_count",@"is_following",@"facebook_configured",@"twitter_configured",@"description",@"approved",@"type", nil];
[provider setMapping:userMapping forKeyPath:@"user"];
}