我对新的restkit 10.0中的RKObjectMapping感到困惑。我已经用RKClient调用了我的Web服务,并得到了JSON格式的响应。现在我想用我的User类MapJSON字符串。如何做到这一点?
{"id":2,"displayName":"Giri Bhushan","roles":null,"username":"FBUser-123456","password":"dddddddddddddddd=\r\n","email":"test@gmail.com","gender":"M","birthDate":null,"friends":null,"bloodGroup":null,"firstName":null,"lastName":null,"phoneNumber":null}
我已经尝试了下面的代码:
RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[User class]];
[userMapping mapKeyPath:@"id" toAttribute:@"userId"];
[userMapping mapKeyPath:@"displayName" toAttribute:@"displayName"];
[userMapping mapKeyPath:@"userName" toAttribute:@"userName"];
[userMapping mapKeyPath:@"password" toAttribute:@"password"];
[userMapping mapKeyPath:@"email" toAttribute:@"email"];
[userMapping mapKeyPath:@"gender" toAttribute:@"gender"];
[userMapping mapKeyPath:@"birthDate" toAttribute:@"birthDate"];
[userMapping mapKeyPath:@"bloodGroup" toAttribute:@"bloodGroup"];
[userMapping mapKeyPath:@"firstName" toAttribute:@"firstName"];
[userMapping mapKeyPath:@"lastName" toAttribute:@"lastName"];
[userMapping mapKeyPath:@"phoneNumber" toAttribute:@"phoneNumber"];
[[RKObjectManager sharedManager].mappingProvider setMapping:userMapping forKeyPath:@"user"];
但是,如何使用RKObjectMappingMapJSON字符串呢?
2条答案
按热度按时间kq0g1dla1#
如果您在JSON的根级别有 users,则应该使用以下代码:
ycggw6v22#
您缺少此行:
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"" delegate:self];
然后实现其委托方法,如下所示:
(void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects{ NSLog(@"Objects Retrieved: %d\n%@", objects.count, objects); YourObject* obj = [objects objectAtIndex:0];
}`
希望这对你有用。XD