jsonModel使用大全

jsonModel我们解析模型的时候经常用当然一个框架,关于jsonModel需要记住的经常用的其实只有很少的方法,总结一下,在json转模型的时候,只有两种,一种是字典转成模型类,一种是数组字典转为数组模型

//数组转模型数组
self.dataList = [ShopListBean arrayOfModelsFromDictionaries:dic[kMsg]error:nil];
//字典转模型
UserMembersShareBean *membersShare = [[UserMembersShareBean alloc]initWithDictionary:dic[kMsg] error:nil];

再有建立模型的时候,如果字典套字典的无需处理,字典套数组的需要用协议处理一下,例如shoplistbean下面有个数组,数组里面放的actBean,需要我们队两个bean的.h进行处理

shoplistbean.h代码如下:

@property (nonatomic)NSArray<ActBean> *ListProActinfo;

处理正常写属性,还需要加个<>告诉编译器你数组中放的是什么

actBean.h代码如下

@protocol ActBean <NSObject>
@end
#import <JSONModel/JSONModel.h>

import上方下如下代码,其实这是一个写假协议骗编译器的过程。

然后在处理过程中,就可以自动处理多层级的字典套数组建立模型了

还有两个常用的方法,映射的时候可能有的字段没有,这就需要建立Optional属性,但是每个属性都加optional太麻烦了。所以在对应的.m中使用下列方法

+ (BOOL)propertyIsOptional:(NSString *)propertyName
{ 
    return YES;
}

再有就是json中使用关键字,例如id之类的,这需要我们用map映射一下,告诉编译器,关键字的键id在我们模型里是什么

+(JSONKeyMapper *)keyMapper{
    return [[JSONKeyMapper alloc]initWithDictionary:@{@"id":@"banner_id"}];
}


猜你喜欢

转载自blog.csdn.net/lee727n/article/details/79854614