MJExtension轻量级框架的使用

#pragma mark - 字典转模型

//通过JSON数据来创建一个模型
//@param data JSON数据
//@return 新建的对象
+ (instancetype)objectWithJSONData:(NSData *)data;


//通过字典来创建一个模型
//@param keyValues 字典
//@return 新建的对象
+ (instancetype)objectWithKeyValues:(NSDictionary *)keyValues;


//通过plist来创建一个模型
//@param filename 文件名(仅限于mainBundle中的文件)
//@return 新建的对象
+ (instancetype)objectWithFilename:(NSString *)filename;


//通过plist来创建一个模型
//@param file 文件全路径
//@return 新建的对象
+ (instancetype)objectWithFile:(NSString *)file;

#pragma mark - 字典数组转模型数组

//通过JSON数据来创建一个模型数组
//@param data JSON数据
//@return 新建的对象
+ (NSArray *)objectArrayWithJSONData:(NSData *)data;


//通过字典数组来创建一个模型数组
//@param keyValuesArray 字典数组
//@return 模型数组
+ (NSArray *)objectArrayWithKeyValuesArray:(NSArray *)keyValuesArray ;


//通过plist来创建一个模型数组
//@param filename 文件名(仅限于mainBundle中的文件)
//@return 模型数组
+ (NSArray *)objectArrayWithFilename:(NSString *)filename ;


//通过plist来创建一个模型数组
//@param file 文件全路径
//@return 模型数组
+ (NSArray *)objectArrayWithFile:(NSString *)file ;

1.当一个模型中包含另一个模型组成的数组时 在模型的.m中调用- (NSDictionary *)objectClassInArray;

//数组中需要转换的模型类
 //@return 字典中的key是数组属性名,value是数组中存放模型的Class
- (NSDictionary *)objectClassInArray;

例如:
@interface MTCity : NSObject

@property (nonatomic, strong) NSArray *regions;
@end

@implementation MTCity
- (NSDictionary *)objectClassInArray
{
    return @{@"regions" : [MTRegion class]};
}


2.如果joson 返回的字典中关键字 是系统保留字 ,那么我们可以用- (NSDictionary *)replacedKeyFromPropertyName 转换
//将属性名换为其他key去字典中取值
//@return 字典中的key是属性名,value是从字典中取值用的key

- (NSDictionary *)replacedKeyFromPropertyName;

例如:
- (NSDictionary *)replacedKeyFromPropertyName
{
    return @{@"desc" : @"description"};
}

你可能感兴趣的:(iOS,数据解析)