2015-01-13 231 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,非常感謝,我將添加另一個對象的錯誤 –