jsonMode总结

来源:互联网 发布:淘宝客都在哪里推广 编辑:程序博客网 时间:2024/05/17 18:49

jsonMode 的使用  《总体感觉就是看的再多都不如敲一遍收获大》


首先用cocoaPods 导入JSONModel,AFNetworking

请求下来的数据是html格式的

1、首先新建一个MODE,继承自JsonMode

2、根据网络请求的数据,建立模型   

{    "status": 200,     "info": "请求成功",     "data": [        {},         {}    ],     "banner": [        {},         {}    ],     "statistics": {        "turnover": "17,454.83",         "profit": "100.21"    },     "server_phone": "400-1234-123"}

Mode里的模型  .h文件

@interface DataMode : JSONModel

@property (nonatomic ,strong) NSString * loanId;

@property (nonatomic ,strong) NSString * loanCategory;

@property (nonatomic ,strong) NSString * status;

@property (nonatomic ,strong) NSString * loanTitle;

@property (nonatomic ,strong) NSString * loanInterestRate;

@property (nonatomic ,strong) NSString * loanDuration;

@property (nonatomic ,strong) NSString * investorCount;

@property (nonatomic ,strong) NSString * biddingProgress;

@end


@interface BannerMode : JSONModel

@property (nonatomic ,strong) NSString * url;

@property (nonatomic ,strong) NSString * htmlUrl;

@property (nonatomic ,strong) NSString * htmlTitle;

@end


@interface statisticsMode :JSONModel

@property (nonatomic ,strong) NSString * turnover;

@property (nonatomic ,strong) NSString * profit;

@end



@interface HomeMode : JSONModel

@property (nonatomic ,assign) int status;

@property (nonatomic ,strong) NSString * info;

@property (nonatomic ,strong) NSArray <DataMode *>  * data;//要和json里的kye值对应


@property (nonatomic ,strong) NSArray <BannerMode*> * banner;//要和json里的kye值对应

@property (nonatomic ,strong) statisticsMode * statistics;//要和json里的kye值对应

@property (nonatomic ,strong) NSString * server_phone;

@end


Mode     .m文件

@implementation HomeMode


+ (BOOL)propertyIsOptional:(NSString *)propertyName

{

    returnYES;

}


@end


@implementation DataMode


+ (BOOL)propertyIsOptional:(NSString *)propertyName

{

    returnYES;

}

@end


@implementation BannerMode


+ (BOOL)propertyIsOptional:(NSString *)propertyName

{

    returnYES;

}


@end


@implementation statisticsMode


+ (BOOL)propertyIsOptional:(NSString *)propertyName

{

    returnYES;

}


@end

这个方法的作用    请求的数据mode里没有该对象,不会报错

具体使用

[manager GET:strparameters:nilprogress:nilsuccess:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) {

        

        HomeMode * homeData = [[HomeModealloc]initWithData:responseObjecterror:nil];

        BannerMode * banner = homeData.banner[0];

        NSLog(@"%@",((NSDictionary * )banner)[@"url"]);

    } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {

        NSLog(@"%@",error);

    }];





学习中遇到的问题:

1、jsonMode里的嵌套模型 ,

@interface HomeMode : JSONModel

@property (nonatomic ,assign) int status;

@property (nonatomic ,strong) NSString * info;

@property (nonatomic ,strong) NSArray <DataMode *>  * data;//要和json里的key值对应


@property (nonatomic ,strong) NSArray <BannerMode*> * banner;//要和json里的key值对应

@property (nonatomic ,strong) statisticsMode * statistics;//要和json里的key值对应

@property (nonatomic ,strong) NSString * server_phone;

@end

要和 json里的key对应。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 学历认证是假的怎么办 怕被公司查学历怎么办 淘宝玩具没有怎么办3c 家庭遭遇小三我该怎么办 老公出轨把小三带回家了怎么办 小三怀孕了怎么办准生证 小三怀孕了起诉怎么办 不知情做了小三怎么办 发现自己被三了怎么办 被扇巴掌脸肿了怎么办 分到上海市金鼎学校怎么办 被列入维稳对象怎么办? 资金涉及诈骗案冻结了怎么办 小米浏览器浏览记录找不到了怎么办 米聊账号封了怎么办 管家婆创业版管理员忘记密码怎么办 手机不记得密码了怎么办 手机不记得开锁密码怎么办 oppo手机不记得密码怎么办 电脑密码不记得了怎么办 vivo手机不记得密码了怎么办 运管把车扣了怎么办 大学通选课挂科怎么办 通识必修课挂了怎么办 我想开3d艺术馆怎么办 档案回原籍报到证怎么办 服刑的人孩子上学怎么办 长沙终身教育网用户名忘记了怎么办 乡下卖服装没生意怎么办 没能力没学历该怎么办 没有学历的我该怎么办 补过的牙掉了怎么办 法院判完被告不给钱怎么办 b证到期未继续教育怎么办 宝宝上幼儿园中午要用尿不湿怎么办 嫁到北京农村怎么办居住证 2020年没脱贫的农民怎么办 2020年农民的土地怎么办 车停在停车场被划怎么办 专升本差两分怎么办 入职需要学士学位证怎么办