jsonModel 是一个很好用的将json 转化为对象的开源库
比如:我要创建一个模型MXUser
@interface MXUser :JSONModel
这里的字段需要和后台返回的字段一致
@property(nonatomic, assign) NSInteger userId;
@property(nonatomic, strong) NSString *phone;
@property(nonatomic, strong) NSString *invitation;//邀请码
但是有时候后台的字段和xcode 有冲突,这时候需要我们转换一下
比如:id 系统会提示错误,这时候我们将id转化为:userId
+(JSONKeyMapper*)keyMapper
{
return [[JSONKeyMapper alloc] initWithDictionary:@{@"id": @"userId"}];
}
还要一些字段我们有时候需要,有时候不需要。
@property(nonatomic, strong) NSString<Optional> *location;
+ (BOOL)propertyIsOptional:(NSString *)propertyName{
return YES;
}
一般后台返回的数据有2种:字典或者数组。字段我们将其转化为对象模型
MXUser *user = [[MXUser alloc] initWithDictionary:userAttributes error:&error];
如果是数组的话,我们将其转化为对象的数组:NSArray *users = [MXUser arrayOfModelsFromDictionaries:result error:&error];