常用功能
字典转模型
objectWithKeyValues
模型中嵌套模型
objectWithKeyValues
模型中包含数组模型
objectClassInArray
- (NSDictionary *)mj_objectClassInArray{
return @{
@"statuses" : @"Status"
}; }
模型中的属性名和服务器的字段不相同
replacedKeyFromPropertyName // 实现这个方法的目的:告诉MJExtension框架模型中的属性名对应着字典的哪个key
- (NSDictionary *)mj_replacedKeyFromPropertyName{
return @{ @"ID" : @"id" }; }
字典数组转模型数组
objectArrayWithKeyValuesArray
模型转成字典
model.keyValues
模型数组转字典数组
keyValuesArrayWithObjectArray:(modelsArray)
不常用功能
也可以知道下,有的方法还是很方便的
设置可以转换的属性,不在数组中的不可以转换
- (NSArray *)mj_allowedPropertyNames;
设置不需要转换的属性,不在数组中的可以转换
- (NSArray *)mj_ignoredPropertyNames;
服务器返回的是下划线时,而自己的属性又是驼峰命名法不带下划线时
- (id)mj_replacedKeyFromPropertyName121:(NSString *)propertyName { return [propertyName mj_underlineFromCamel]; }
如果用户需要对取得的字典中的值进行特殊处理,比如转换日期格式
- (id)mj_newValueFromOldValue:(id)oldValue property:(MJProperty *)property;
当字典转模型完毕时调用
- (void)mj_keyValuesDidFinishConvertingToObject;
当模型转字典完毕时调用
- (void)mj_objectDidFinishConvertingToKeyValues;
字典转模型遇到的错误
- (NSError *)mj_error;
将模型转成字典
- (NSMutableDictionary *)mj_keyValues;
- (NSMutableDictionary *)mj_keyValuesWithKeys:(NSArray *)keys;
- (NSMutableDictionary *)mj_keyValuesWithIgnoredKeys:(NSArray *)ignoredKeys;
模型数组来创建一个字典数组
- (NSMutableArray *)mj_keyValuesArrayWithObjectArray:(NSArray *)objectArray;
- (NSMutableArray *)mj_keyValuesArrayWithObjectArray:(NSArray *)objectArray keys:(NSArray *)keys;
- (NSMutableArray *)mj_keyValuesArrayWithObjectArray:(NSArray *)objectArray ignoredKeys:(NSArray *)ignoredKeys;
通过plist来创建一个模型
- (instancetype)mj_objectWithFilename:(NSString *)filename;(仅限mainBundle中文件名称)
通过plist来创建一个模型
- (instancetype)mj_objectWithFile:(NSString *)file;(file=文件全路径)
通过plist来创建一个模型数组
- (NSMutableArray *)mj_objectArrayWithFilename:(NSString *)filename;(仅限mainBundle中文件名称)
通过plist来创建一个模型数组
- (NSMutableArray *)mj_objectArrayWithFile:(NSString *)file;(file=文件全路径)
转化成JSON Data
- (NSData *)mj_JSONData;
转换为字典或者数组
- (id)mj_JSONObject;
转换为JSON 字符串
- (NSString *)mj_JSONString;