如何使用此JSON实现动态映射(RKDynamicMapping)?

如何使用此JSON实现动态映射(RKDynamicMapping)?,mapping,restkit,restkit-0.20,Mapping,Restkit,Restkit 0.20,我的后端返回此类JSON文件: { “答复”:{ “消息”:“测试” }, “响应代码”:205 } 根据responseCode值,响应内部的内容是不同的。 我知道我必须使用RKDynamicMapping之类的工具,但不知道如何使用。 我看到的问题是,在示例代码和手册中,用于区分映射的属性是内部的,但在本例中是外部的。 我试过这个,但不起作用: [dynamicMapping setObjectMappingForRepresentationBlock:^RKObjectMappin

我的后端返回此类JSON文件:

{ “答复”:{ “消息”:“测试” }, “响应代码”:205 }

根据responseCode值,响应内部的内容是不同的。 我知道我必须使用RKDynamicMapping之类的工具,但不知道如何使用。 我看到的问题是,在示例代码和手册中,用于区分映射的属性是内部的,但在本例中是外部的。 我试过这个,但不起作用:

    [dynamicMapping setObjectMappingForRepresentationBlock:^RKObjectMapping *(id representation) {
        NSNumber* responseCode=(NSNumber*)representation[@"responseCode"];
        if (responseCode.integerValue==204) {
            return searchByLocatorResponseContent204Mapping;
        } else if (responseCode.integerValue==205) {
            return searchByLocatorResponseContent205Mapping;
        }
        return nil;
    }];
    RKResponseDescriptor *searchByLocatorResponseContentResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:dynamicMapping pathPattern:kCheckinSearchByLocatorPath keyPath:nil  statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
    [objectManager addResponseDescriptor:searchByLocatorResponseContentResponseDescriptor];
我猜是因为我想要更改的映射不包含区分它们的属性(比如键入RESTKit网站上的女孩/男孩示例代码)

有人有什么建议吗?
提前感谢。

如果您这样设置,restkit希望
动态映射将为整个响应json提供映射,而不仅仅是“response”的内容

基本上,
searchByLocatorResponseContent204Mapping
需要对
response
字段和
responseCode
字段进行映射


据我所知,restkit不能向外看,因为
表示
参数只提供当前上下文内部的信息。但是,它已经在路线图上了,并且已经有一张关于这一点的罚单:

您不能使用keypath来指定“response”中项目的映射吗?