文档章节

MJExtension,JSON数据与Model的转换

iOS赵师顺
 iOS赵师顺
发布于 2016/11/14 17:42
字数 218
阅读 26
收藏 0
// 最简单的转换


@interface User : NSObject// 模型

@property (nonatomic,copy)NSString *name;
@property (nonatomic,copy)NSString *icon;
@property (nonatomic,assign)int age;
@property (nonatomic,copy)NSString *height;
@property (nonatomic,strong)NSNumber *money;
@property (nonatomic,strong)NSNumber *sex;
@property (nonatomic,assign)BOOL gay;
@end
// 字典
 NSDictionary *dic = @{
                          @"name" : @"Jack",
                          @"icon" : @"lufy.png",
                          @"age" : @"20",
                          @"height" : @1.55,
                          @"money" : @"100.9",
                          @"sex" : @(20),
                          @"gay" : @"1"
                          };
    /**
 *  通过字典来创建一个模型
 *  @param keyValues 字典(可以是NSDictionary、NSData、NSString)
 *  @return 新建的对象
 */
    User *user = [User mj_objectWithKeyValues:dic];

    NSLog(@"%@--%@---%d--%@",user.name,user.icon,user.age,user.height);
    控制台打印:2016-11-14 16:48:35.255 MJ转换Model[4177:304668] Jack--lufy.png---20--1.55
// 特殊字符处理
#import "MJExtension.h"
@implementation Book
- (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;
}
@end
// NSDictionary
NSDictionary *dict = @{
                       @"name" : @"5分钟突破iOS开发",
                       @"publishedTime" : @"2011-09-10"
                       };
// NSDictionary -> Book
Book *book = [Book mj_objectWithKeyValues:dict];
// printing
NSLog(@"name=%@, publisher=%@, publishedTime=%@", book.name, book.publisher, book.publishedTime);

 

本文转载自:https://my.oschina.net/daniels/blog/539634

共有 人打赏支持
iOS赵师顺
粉丝 3
博文 74
码字总数 36150
作品 0
昌平
程序员
关于JSONModel和MJExtension的性能对比

最初我在微博上看到MJExtension的发布的时候,声称它比其他JSONModel等其他Data model快上好多倍,当时我正在用JSONModel,感觉这个事情很神奇,但是一直没有去看看MJExtension具体是怎么做到...

贝勒老爷
08/15
0
0
手把手教你使用MJExtension(简单使用)

一、MJExtension第三方框架 我们在iOS开发过程中,我们常常需要将字典数据(也就是JSON数据)与Model模型之间的转化,例如网络请求返回的微博数据、等等,如果我们自己全部手动去创建模型并赋值...

贝勒老爷
08/15
0
0
十分钟搭建主流框架_简单的网络部分(OC)

本节主题(简单的网络部分) 源码地址在文章末尾 达成效果 注:本文API使用HaoService数据平台 前言 废话不说了,简单来说,移动网络很重要,下面让我们来实现一个简单的Demo:对网络数据的请...

hejunbinlan
2015/11/13
0
0
IOS 字典模型互转框架 MJExtension

详细轻参考:https://github.com/CoderMJLee/MJExtension 功能很牛掰 能做什么? MJExtension是一套的超轻量级框架 MJExtension能完成的功能 --> --> --> --> 详尽用法主要参考 main.m中的各...

卧龙小
2015/04/07
0
1
JSON和模型之间最快捷方便的转换iOS框架:MJExtension

参考网址: http://www.open-open.com/lib/view/open1426233573592.html https://github.com/CoderMJLee/MJExtension https://github.com/CoderMJLee/JSONTest...

hejunbinlan
2015/06/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
5
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
24
4

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部