字典里有个数组,数组里面存放着几个不相同的字典模型怎么用MJExtension解析,
2016-07-09 16:46
393 查看
最近解析了一个特殊的JSON数据,以前解析的都是数组里是字典,但字典就一种样式!解析的时候用这个方法就可以了
但这次的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个字典看成一个整体,在写模型时这样写:
如果解析到home1了,home3和goods就是nil,对于home3和goods同样!home1,home3和goods里面的模型正常写。这样名字也对应上了,解析数组datas的冲突也解决了,数据也就解析出来了!!!
菜鸟一个,如果能帮到你,是我莫大的荣幸!
+ (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的冲突也解决了,数据也就解析出来了!!!
菜鸟一个,如果能帮到你,是我莫大的荣幸!
相关文章推荐
- JSON数据解析
- iOS-第三方库MJExtension使用 解析Json数据
- 简单解析json数据(接上篇创建json数据)
- Json数据解析
- json数据解析
- json解析几种格式
- JSON数据解析
- 自动生成module
- MJExtension的用法
- 基础Android之访问网络
- java读取文件内容,解析Json格式数据
- JSON数据解析入门
- runtime获取属性列表,修改属性值,添加并修改私有方法的调用
- ES6中Json、String、Map、Object之间的转换
- [iOS] 过滤后台返回nil的数据
- JSONModel、Mantle、MJExtension、YYModel 等工具的对比
- 根据json数据生成建表脚本的解决方案
- Swift开发:使用SwiftyJSON解析JSON数据
- Android中JSON数据解析:系统自带JSONObject以及第三方GSON的实现
- MJExtension 字典转模型高级使用技巧