文档章节

MJExtension,JSON数据与Model的转换

iOS赵师顺
 iOS赵师顺
发布于 2016/11/14 17:42
字数 218
阅读 28
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
11分钟前
0
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
20分钟前
1
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
40分钟前
1
0
人工智能时代员工如何证明其IT工作价值

机器人可以取代你的工作吗?你能帮助机器人完成它的工作吗?如果你正在考虑自己的职业生涯以及今后将如何发展,那么应该询问自己这些问题了。 机器人可以取代你的工作吗?你能帮助机器人完成它的...

Linux就该这么学
42分钟前
2
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linuxCool
53分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部