JSONModel

说明

JSONModel是一个映射json数据和model的第三方工具,网络请求数据之后有jsonModel来映射数据。

import <JSONModel/JSONModel.h>

变量名不同处理

使用jsonmodel需要继承JSONModel类,由于model中的变量名称可能与json中的数据类型不同,所以需要在model中重写keyMapper方法,代码如下:

+ (JSONKeyMapper *)keyMapper
{
    //@"id"json数据
    //@"identity"model数据
    return [[JSONKeyMapper alloc] initWithDictionary:@{@"id":@"identity",@"user.avatar_image.url":@"imageUrl"}];
}

是否可以返回为空

当model中存在json中不存在的数据时,返回数据会crash,或者返回的数据可以为空时,可以进行选择操作,示例如下:

//当前行(cell)的数据
@property (strong, nonatomic) DataItem<Optional> *item;

对于嵌套数据解析时,需要指明嵌套的数据类型才可解析

//数据源
@property (strong , nonatomic) NSMutableArray<DataItem> *data;

数组需要指明包含对象类型
@property(nonatomic)NSArray<NSString> *languages;

数据转化方式

字符串

NSString *jsonStr = @"{\"id\":\"10\", \"country\":\"Germany\", \"dialCode\": 49, \"isInEurope\":true}"; // 假设这就是从服务器上获取的json数据
    CountryModel *country = [[CountryModel alloc] initWithString:jsonStr error:nil];

二进制数据

NSData *data = [NSData dataWithContentsOfFile:filepath];
ZZYouDianYun *yun = [[ZZYouDianYun alloc]initWithData:data error:&error];

字典

DataList *list = [[DataList alloc] initWithDictionary:responseObject  error:nil];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值