JSON和模型之间最快捷方便的转换iOS框架:MJExtension
                 jopen
                 11年前
            
                    MJExtension是JSON和模型之间最快捷方便的转换iOS框架。
能做什么?
- MJExtension是一套字典和模型之间互相转换的超轻量级框架
 - MJExtension能完成的功能 
- 字典(JSON)-->模型(Model)
 - 模型(Model)-->字典(JSON)
 - 字典数组(JSON Array)-->模型数组(Model Array)
 - 模型数组(Model Array)-->字典数组(JSON Array)
 
 - 详尽用法主要参考 main.m中的各个函数 以及NSObject+MJKeyValue.h </ul>
 - 转换速率: 
- 最近一次测试表明:MJExtension>JSONModel>Mantle
 - 各位开发者也可以自行测试
 
 - 具体用法: 
- JSONModel:要求所有模型类必须继承自JSONModel基类
 - Mantle:要求所有模型类必须继承自MTModel基类
 - MJExtension:不需要你的模型类继承任何特殊基类,毫无污染,毫无侵入性 </ul> </li> </ul>
 - cocoapods导入:pod 'MJExtension'
 - 手动导入: 
- 将MJExtensionExample/MJExtensionExample/MJExtension文件夹中的所有源代码拽入项目中
 - 导入主头文件:#import "MJExtension.h" 
MJExtension.h MJConst.h MJConst.m MJFoundation.h MJFoundation.m MJIvar.h MJIvar.m MJType.h MJType.m NSObject+MJCoding.h NSObject+MJCoding.m NSObject+MJIvar.h NSObject+MJIvar.m NSObject+MJKeyValue.h NSObject+MJKeyValue.m
 
最简单的字典转模型
typedef enum { SexMale, SexFemale } Sex; @interface User : NSObject @property (copy, nonatomic) NSString *name; @property (copy, nonatomic) NSString *icon; @property (assign, nonatomic) int age; @property (assign, nonatomic) double height; @property (strong, nonatomic) NSNumber *money; @property (assign, nonatomic) Sex sex; @end NSDictionary *dict = @{ @"name" : @"Jack", @"icon" : @"lufy.png", @"age" : @20, @"height" : @"1.55", @"money" : @100.9, @"sex" : @(SexFemale) }; // 将字典转为User模型 User *user = [User objectWithKeyValues:dict]; NSLog(@"name=%@, icon=%@, age=%d, height=%@, money=%@, sex=%d", user.name, user.icon, user.age, user.height, user.money, user.sex); // name=Jack, icon=lufy.png, age=20, height=1.550000, money=100.9, sex=1
核心代码
- [User objectWithKeyValues:dict]
 
 
如何使用MJExtension