ios - Reskit 为同一个字段解析多种类型的数据

标签 ios parsing restkit

我只是想问一下,是否有办法解析Reskit中的以下字段“mods”:

post_count: false,
sitename: "Mercury",
mods: false,
admin_email: "maystro@test.com",

此处 mods 有一个 bool 值,在下一个示例中它有一个对象作为值:

post_count: false,
sitename: "Mercury",
mods: {
0: false,
author_blocks: {
enabled: {
placebo: "placebo"
},
disabled: {
2: "jbckmn",
placebo: "placebo"
}
},
backups: null,
smof_init: "Wed, 14 May 2014 18:53:58 +0000",
custom_logo: "",
custom_logo_height: "1",
custom_login_logo: "",
custom_login_logo_height: "1",
custom_favicon: ""
}

在同一个 JSON 响应中,我们接收这种类型的数据,有时 mods 有一个 bool 值,有时有一个对象。有谁知道是否有办法使用 Restkit 进行动态映射来处理这种情况?

提前致谢

最佳答案

的确如此。您想要使用 RKDynamicMapping,并从中返回您想要使用的实际映射;像这样的东西:

RKDynamicMapping *dynamicMapping = [RKDynamicMapping new];

[dynamicMapping setObjectMappingForRepresentationBlock:^RKObjectMapping *(id representation) {
    if ([representation valueForKey:@"MyKey"] isKindOfClass:[NSNumber class]])
    {
        return aMappingWhenTheFieldIsANumber;
    }
    else
    {
        return aMappingWhenTheFieldIsNotANumber;
    }
}];

以这种方式,当您手头有数据时,您可以选择要使用的映射。只需检查字段类型的数据,并返回适合字段类型的普通 RKObjectMapping

关于ios - Reskit 为同一个字段解析多种类型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25431191/

相关文章:

ios - xcode:更改文件路径后缺少文件xcdatamodeld

javascript - Javascript中匹配正则表达式字符串

java - 如何解析mif文件?

java - 从 Java 源文件中获取类注解

ios - iOS 应用程序中 NSURLConnection 的使用是否有限制?

objective-c - 如何打印 Restkit 发送的正文(IOS)

iOS:防止 Restkit 对 URL 编码逗号

objective-c - 关于代表的一些困惑

ios - Swift - 从 mov 和 jpg 文件创建 Live Photo

ios - 在 GLPaint 中颠倒绘制的 CGPoints