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