如何在RESTKit中映射此对象

时间:2015-01-13 17:47:18

标签: ios objective-c restkit restkit-0.20

我有以下类型的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]];

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

1 个答案:

答案 0 :(得分:1)

通常,您不希望将它们映射到client对象中,您可能希望将它们映射到其他对象中。您通常会使用不同的对象和响应映射,其中响应映射使用不同的密钥路径。

如果出于某种原因,您确实希望它们位于同一个对象中,那么您可以查看使用@metadata / @parent转到父级(https://github.com/RestKit/RestKit/pull/1435)。

相关问题