美文网首页
最新MJ-Extension的用法

最新MJ-Extension的用法

作者: 大神风格化X | 来源:发表于2018-02-22 17:16 被阅读47次

iOS解析从接口返回给的json,来到oc中将这些数据转换成对应模型相应的属性,进而在需要赋值、修改、添加的地方进行利用。那么json如何快速有效的转换成模型属性呢?这里介绍给大家一个好用的第三方MJ-Extension,通过这个第三方我们就不用管键值对找不到就报错等类似的情况了。

废话不多,端上代码:

.h中

。。。

@property(nonatomic,strong)NSArray*financialSchoolInfo;

@property (nonatomic, copy) NSString *status;

@property (nonatomic, copy) NSString *failReason;

@property (nonatomic, copy) NSString *amount;

@property(nonatomic,copy)NSString*orderExpectIncome;

@property(nonatomic,strong)CustomerPartnerInfo*customerPartnerInfo;

@property (nonatomic, strong) CustomerBasic *customerBasic;

。。。

.m中

+ (void)load{

    [RequestBaseModel mj_setupReplacedKeyFromPropertyName:^NSDictionary *{

        return@{

                 @"returns" : @"returns.customerId",

                 @"registers" : @"returns.register",

                 @"source" : @"returns.source",

                 @"toKen" : @"returns.toKen",

                 @"passWord" : @"returns.passWord",

                 @"cityList" : @"returns.cityList",

                 @"verificationCode" : @"returns.verificationCode",

                 @"financialSchoolInfo" : @"returns.financialSchool",

                 @"lastLoginIp" : @"returns.lastLoginIp",

                 @"customerID" : @"returns.customerId",

                 @"isAuth" : @"returns.isAuth",

                 @"idAuth" : @"returns.idAuth",

                 @"customerToken" : @"returns.customerToken",

                 @"userName" : @"returns.userName",

                 @"customerBindcard" : @"returns.customerBindcard",

                 @"name" : @"returns.name",

                 @"inviteCode" : @"returns.inviteCode",

                 @"status" : @"returns.status",

                 @"failReason": @"returns.failReason",

                 @"list" : @"returns.list",

                 @"amount" : @"returns.amount",

                 @"orderExpectIncome" : @"returns.orderExpectIncome",

                 @"treasureProductInfos" : @"returns.treasureProductInfos",

                 @"productInfoRecommend" : @"returns.productInfoRecommend",

                 @"data" : @"returns.data",

                 @"cardList" : @"returns.cardList",

                 @"customerPartnerInfo" : @"returns.customerPartnerInfo",

                 @"customerBasic" : @"returns.customerBasic",

                 @"idNo" : @"returns.idNo",

                 @"validDate" : @"returns.validDate",

                 @"code" : @"returns.code",

                 @"cordNo" : @"returns.cordNo",

                 @"reservedMobile" : @"returns.reservedMobile",

                 @"ticket" : @"returns.ticket",

                 @"bankName" : @"returns.bankName",

                 @"bankCode" : @"returns.bankCode",

                 @"onceLimit" : @"returns.onceLimit",

                 @"dayLimit" : @"returns.dayLimit",

                 @"customerPartnerDto" : @"returns.customerPartnerDto",

                 @"iconUrl" : @"returns.iconUrl",

                 @"linkUrl" : @"returns.linkUrl",

                 @"shareInfo" : @"returns.shareInfo",

                 @"shareTitle" : @"returns.shareTitle",

                 @"commissionTotal" : @"returns.commissionTotal",

                 @"count" : @"returns.count",

                 @"customerBasics" : @"returns.customerBasics",

                 @"cashOrderDtos" : @"returns.cashOrderDtos",

                 @"payPassWord" : @"returns.payPassWord",

                 @"partnerCustomerId" : @"returns.partnerCustomerId",

                 @"isIdAuth" : @"returns.isIdAuth",

                 @"imageUrl" : @"returns.imageUrl",

                 @"proVersion" : @"returns.proVersion",

                 @"systemUrl" : @"returns.systemUrl",

                 @"messages" : @"returns.messages",

                 @"cashOrder" : @"returns.cashOrder",

                 @"commissionCustomerDto" : @"returns.commissionCustomerDto",

                 @"commissionOrderDto" : @"returns.commissionOrderDto",

                 @"flag" : @"returns.flag"

                 };

    }];

    [RequestBaseModel mj_setupObjectClassInArray:^NSDictionary *{

        return@{

                 @"financialSchoolInfo" : @"FinancialSchoolInfoModel",

                 @"list" : @"FinancialListModel",

                 @"treasureProductInfos" : @"TreasureProductInfoModel",

                 @"productInfoRecommend" : @"TreasureProductInfoModel",

                 @"data" : @"BankCardModel",

                 @"cardList" : @"BankCardModel",

                 @"cityList" : @"CityListModel",

                 @"customerPartnerDto" : @"CustomerPartnerDtoModel",

                 @"customerBasics" : @"CustomerBasic",

                 @"customerBindcard" : @"CustomerBindcardModel",

                 @"cashOrderDtos" : @"CashOrderDtosModel",

                 @"messages" : @"MessageModel"

                 };

    }];

}

其中.m中load中第一个子方法是将接口上的字段按照匹配到.h上面的键值对。第二个方法是将.h上数组类型包含的元素给绑定对应的模型类别

相关文章

网友评论

      本文标题:最新MJ-Extension的用法

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