功能:字典和模型之间互相转换的超轻量级模型
-
1.字典(JSON) --> 模型(Model)
-
2.模型(Model) --> 字典(JSON)
-
3.字典数组(JSON Array) --> 模型数组(Model Array)
-
4.模型数组(Model Array) --> 字典数组(JSON Array)
用法:
-
0.最常用:将一个字典数组转化成模型数组
NSArray *userArray = [WZHModel mj_objectArrayWithKeyValuesArray:dictArray];
-
1.简单的字典转模型
WZHModel *model = [WZHModel mj_objectWithKeyValues:dict];
-
2.模型中嵌套模型--和简单的字典转模型用法一样,只要将嵌套的一些属性也设置到模型的属性当中就可以
-
3.模型中有个数组属性,数组里面又装着其他模型
在模型内部实现+ (NSDictionary *)objectClassInArray方法[StatusResult objectWithKeyValues:dict];
-
4.映射:将模型中的字符转换成网络数据中的字符(就是当网络数据中有一些例如id这种关键字的字符或者我们想在模型中的属性定义的更形象化的时候可以利用这种方法) 下面这个方法只要放在模型的.m文件中即可
+ (NSDictionary *)mj_replaceKeyFromPropertyName{
return @{
@"ID":@"id",
@"smallImage":@"image0",
@"cTime":@"tArray[0].user.userID" //tArray数组元素是一个字典,而user又是这个字典中的字典,这样多级字典嵌套可以用点语法
};
}
-
5.将一个模型数字转化成字典数组
[WZHModel mj_keyValuesArrayWithObjectArray:userArray]
-
6.告诉编译器数组里面存储的是什么模型
``objc//告诉编译器数组top_cmt 里面存储的是 XMGComment模型,在拥有这个数组的模型里
//若需要将某一个字典属性直接转换成一个子模型 可以直接在该模型中定义这个属性的时候声明成那个模型就可以了
-
(NSDictionary *)mj_objectClassInArray{
return @{@"top_cmt":@"XMGComment"};}