字典里有个数组,数组里面存放着几个不相同的字典模型怎么用MJExtension解析,

来源:互联网 发布:收集用户行为数据 编辑:程序博客网 时间:2024/05/01 09:58

最近解析了一个特殊的JSON数据,以前解析的都是数组里是字典,但字典就一种样式!解析的时候用这个方法就可以了

+ (NSDictionary *)objectClassInArray{    return @{@"****":[****  class]};}

但这次的JSON结构是这样的
!
datas是个数组,数组里的字典有home1,home3,和goods三个字典,这让我解析datas数组时用home1,还是home3,或goods呀!
问了朋友和查了好多,顺便吐槽下,国内的技术分享真不怎么滴。朋友说把home1,home3和goods的属性合成一个自命名为home的字典模型,这样解析datas数组就用一个home模型就可以了。是很好的想法。写完模型测试了下,发想datas有5个元素,但元素里的值都是nil。。。,后来发现了用MJExtension解析的时候,字典的命名必须和服务器给的名字一样,就是说我服务器给的是home1,home3,和goods,所以我自命名的home就不会被MJExtension识别就不会对应的解析数据。所以朋友的办法也不行。。。好纠结啊!
后来自己发呆时想到了能不能把这3个字典看成一个整体,在写模型时这样写:

@interface HomeDatasModel : BaseModel@property (nonatomic,strong)HomeDatasHome1Model *home1;@property (nonatomic,strong)HomeDatasHome3Model *home3;@property (nonatomic,strong)HomeDatasGoodsModel *goods;@end

如果解析到home1了,home3和goods就是nil,对于home3和goods同样!home1,home3和goods里面的模型正常写。这样名字也对应上了,解析数组datas的冲突也解决了,数据也就解析出来了!!!
菜鸟一个,如果能帮到你,是我莫大的荣幸!

0 1
原创粉丝点击