ios - 是否可以使用 JAGPropertyConverter 将 JSON 字段映射到不同命名的属性?

标签 ios json

我正在使用优秀的开源软件 JAGPropertyConverter将 JSON 响应反序列化为模型对象。

它没有明确记录,但有没有办法可以将名为“userName”的 JSON 字段映射/反序列化为名为“name”的属性?

它利用键值兼容属性,因此如果我反序列化的 JSON 有一个名为“userName”的字段,那么普通用例将为我的模型提供一个名为“userName”的属性。

最佳答案

截至76829b4dca , 答案是不。 JAGPropertyConverter 调用 JAGPropertyFinder 将字典键映射到属性,这两个类都不允许您更改默认映射。

JAGPropertyConverter.m :

- (void)setPropertiesOf:(id)object fromDictionary:(NSDictionary*)dictionary {
    JAGProperty *property;
    for (NSString *key in dictionary) {
        property = [JAGPropertyFinder propertyForName: key inClass:[object class] ];
        ...
    }
    ...
}

JAGPropertyFinder.m :

+ (JAGProperty *)propertyForName:(NSString *)name inClass:(__unsafe_unretained Class)aClass {
    objc_property_t property = class_getProperty(aClass, [name UTF8String]);
    ...
}

关于ios - 是否可以使用 JAGPropertyConverter 将 JSON 字段映射到不同命名的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20711931/

相关文章:

ios - 重新初始化一个 NSArray

php - 如何从wordpress数据库的元值中获取数据

c++ - 接收字符串并使用它来调用 C++ 方法

java - 无法在 android TextView 中打印 JSON 对象字符串

ios - 使用 Visual Studio 2015 在 iPhone 4 和 5 上运行的 Xamarin iOS 应用程序无法启动

objective-c - 在 iOS 和 Cocoa Touch 上,我们是否应该假设我们应该始终发送 "super"相同的消息?

ios - 当键盘快速出现时移动文本字段

ios - sketchup 中的 scenekit 模型消失了

json - 在 Go 中编码嵌套的 JSON

xml - Spring MVC Restful 406 Not Acceptable