我有以下类型的JSON
{
"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]];
但我有两个额外的字段要映射哪些不在客户端对象下。如何映射ErrorMessage
和FriendlyMessage
字段?
答案 0 :(得分:1)
通常,您不希望将它们映射到client
对象中,您可能希望将它们映射到其他对象中。您通常会使用不同的对象和响应映射,其中响应映射使用不同的密钥路径。
如果出于某种原因,您确实希望它们位于同一个对象中,那么您可以查看使用@metadata
/ @parent
转到父级(https://github.com/RestKit/RestKit/pull/1435)。