2015-01-13 191 views
0

这个对象我的JSON以下一种如何映射RESTKit

{ 
    "Client": { 
     "FirstName": "String", 
     "LastName": "String", 
     "Email": "String", 
     "Password": "String", 
     "PhoneNumber": "String", 
     "Token": "String" 
    }, 
    "ErrorMessage": "String", 
    "FriendlyMessage": "String" 
} 

我知道,虽然映射如果我指定的关键路径,然后RestKit从对象字段中指定,在这种情况下Client匹配,将代码我使用的是,如下所示

[responseMapping addAttributeMappingsFromDictionary:@{ 
    @"FirstName": @"FirstName", 
    @"LastName": @"LastName", 
    @"Email": @"Email", 
    @"PhoneNumber": @"PhoneNumber", 
    @"Token": @"Token", 
    @"Password": @"Password", 
    @"ErrorMessage": @"ErrorMessage"}]; 

RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:responseMapping 
                         method:RKRequestMethodPOST 
                        pathPattern:nil 
                         keyPath:@"Client" 
                        statusCodes:[NSIndexSet indexSetWithIndex:200]]; 

但我有两个额外的字段映射哪些不在客户端对象下。如何映射ErrorMessageFriendlyMessage字段?

回答

1

通常情况下,您不想将它们映射到您的client对象中,您可能想将它们映射到其他对象中。您通常会使用不同的对象和响应映射,其中响应映射使用不同的键路径。

如果由于某种原因,你却希望他们在同一个对象,那么你可以看看使用@metadata/@parent才能到父(https://github.com/RestKit/RestKit/pull/1435)。

+0

噢,我现在我明白了,我们可以添加多个映射到RKObjectManager,非常感谢,我将添加另一个对象的错误 –