美文网首页
【iOS开发】MJExtension的使用

【iOS开发】MJExtension的使用

作者: Huangbaoqin | 来源:发表于2017-11-14 01:34 被阅读93次
  • JSONModel
NSDictionary *dict = @{@"name" : @"黄堡钦", @"address" : @"洪文六里"};
HBQUser *user = [HBQUser mj_objectWithKeyValues:dict];
NSLog(@"\n name = %@ \n address = %@\n", user.name, user.address);
image
  • JSONStringModel
NSString *jsonString = @"{\"name\":\"黄堡钦\", \"address\":\"洪文六里\"}";
HBQUser *user = [HBQUser mj_objectWithKeyValues:jsonString];
NSLog(@"\n name = %@ \n address = %@\n", user.name, user.address);
image
  • Model 中包含其他 Model
NSDictionary *dict = @{@"name" : @"X", @"firstUser" : @{@"name" : @"黄堡钦", @"address" : @"洪文六里"}};
HBQCompany *company = [HBQCompany mj_objectWithKeyValues:dict];
NSLog(@"\n company.name = %@ \n company.firstUser = %@ \n", company.name, company.firstUser);
image
  • Model 中包含 Model 数组
NSDictionary *dict = @{@"name" : @"X", @"firstUser" : @{@"name" : @"黄堡钦", @"address" : @"洪文六里"}, @"users" : @[@{@"name" : @"王五", @"address" : @"洪文六里"}, @{@"name" : @"李四", @"address" : @"洪文六里"}, @{@"name" : @"张三", @"address" : @"洪文六里"}]};
HBQCompany *company = [HBQCompany mj_objectWithKeyValues:dict];
NSLog(@"\n company.name = %@ \n company.firstUser = %@ \n company.users = %@ \n", company.name, company.firstUser, company.users);
#import "HBQCompany.h"

@implementation HBQCompany

+ (NSDictionary *)mj_objectClassInArray {
    return @{
             @"users" : @"HBQUser"
             };
}

@end
image
  • Model 属性名JSON 的 Key 的映射(或者多级映射)
// 将 Model 中的 name 改成 NAME 到字典中取值,也能将 name 映射到字典的更深层级用点语表示
+ (NSDictionary *)mj_replacedKeyFromPropertyName {
    return @{
             @"name" : @"NAME",
             @"address" : @"ADDRESS"
             };
}
  • JSON 数组Model 数组
NSArray *users = @[@{@"name" : @"黄堡钦1", @"address" : @"洪文六里"}, @{@"name" : @"黄堡钦2", @"address" : @"洪文六里"}, @{@"name" : @"黄堡钦3", @"address" : @"洪文六里"}, @{@"name" : @"黄堡钦4", @"address" : @"洪文六里"}, @{@"name" : @"黄堡钦5", @"address" : @"洪文六里"}];
NSArray *userArray = [HBQUser mj_objectArrayWithKeyValuesArray:users];
NSLog(@"%@", userArray);
  • ModelJSON
HBQUser *user = [[HBQUser alloc] init];
user.name = @"黄堡钦";
user.address = @"洪文六里";
NSDictionary *userDict = [user mj_keyValues];
NSLog(@"%@", userDict);
  • Model 数组JSON 数组
NSArray *dictArray = [User mj_keyValuesArrayWithObjectArray:userArray];
  • NSStringNSDate ,nil@""
- (id)mj_newValueFromOldValue:(id)oldValue property:(MJProperty *)property {
    if ([property.name isEqualToString:@"publisher"]) {
        if (oldValue == nil) return @"";
    } else if (property.type.typeClass == [NSDate class]) {
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        fmt.dateFormat = @"yyyy-MM-dd";
        return [fmt dateFromString:oldValue];
    }
    return oldValue;
}

相关文章

  • 【iOS开发】MJExtension的使用

    JSON 转 Model JSONString 转 Model Model 中包含其他 Model Model 中...

  • MJExtension使用

    转发自:MFExtension使用 一、MJExtension第三方框架 我们在iOS开发过程中,我们常常需要将字...

  • iOS开发中对MJExtension的新认知

    MJExtension对iOS开发者都不陌生,大家经常会使用其将字典转成模型,字典数组转成模型,但现在貌似更多的人...

  • MJExtension 源码浅析

    GitHub给个✨ MJExtension 基本上所有的iOS开发都用过,Json <---> Model。主要的...

  • 无标题文章

    iOS 缓存 快速集成环信 技术文档 Masonry简单使用 MJExtension简单使用 GCD基本使用 gi...

  • YYModel的使用

    在iOS开发中总会用到各种JSON与模型相互转换的需求,之前的项目中一直使用MJExtension,但是最近发现一...

  • iOS MJExtension的使用

    前言: MJExtension是iOS的字典装模型的一个第三方框架。相对于JSONKit和SBJson相比MJEx...

  • iOS MJExtension 映射扩展 model转换

    本次将不仔细介绍MJExtension的使用了,关系到映射记一下 MJExtension第三方框架 我们在iOS开...

  • iOS第三方库- MJExtension的使用

    iOS第三方库- MJExtension的使用 下载:https://github.com/CoderMJLee...

  • iOS MJExtension简单使用

    写在前面:因为懒,不爱写东西了。感谢我的兄弟兼iOS引路人韩韩,一直监督着我学习,逼着我理解技术和写出来,因此有了...

网友评论

      本文标题:【iOS开发】MJExtension的使用

      本文链接:https://www.haomeiwen.com/subject/humtvxtx.html