使用JSONModel进行不区分大小写的检测

时间:2017-07-10 13:56:23

标签: objective-c json case-insensitive jsonmodel

我正在我们的小组项目中使用JSONModel,当服务器人决定将他们的响应数据从TitleCase更改为camelCase时遇到了问题。在接下来的时间里,我们需要支持这两个选项,所以我希望因为我们已经在使用JSONModel,我可以使用它的功能来解决我们的问题,但我似乎无法找到一个简单的方法要做到这一点。

目前我们可以进行JSONModel转换,然后检查其他(camelCase)键,但我希望在JSONModel本身中更一般地做。

我查看了keyMapper,但这只是让我改变它所寻找的东西,它似乎无法检查两者。

我尝试过这样的事情;

- (void)setCountryCodeWithNSDictionary:(NSDictionary *)dictionary {
    if ([dictionary[@"CountryCode"] isMemberOfClass:[NSString class]]) {
        self.CountryCode = dictionary[@"CountryCode"];
    }
    if ([dictionary[@"countryCode"] isMemberOfClass:[NSString class]]) {
        self.CountryCode = dictionary[@"countryCode"];
    }
}

但由于某种原因,这似乎不起作用。

我想一个更普遍的问题是,如何使JSONModel密钥检测不区分大小写?

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

在创建字典副本时,我会将所有键设置为小写等效项,并始终与possibleKey.lowercased()进行比较