iOS 第三方库JSONModel的基本使用

首先我们需要配置好Cocoaposds,在这里就不详细说明
首先我们需要创建一个Xcode项目
在终端进入到这个文件接下来
vim podfile
然后输入i
进行输入第三方库 pod ‘JSONModel’
然后退出按ESC 在输入:WQ
然后安装 就是 pod install 就会成功安装

JSONModel 的基本使用

网络请求完毕后一般我们需要手动解析,但是在软件开发中这是非常麻烦,而且容易出错,这里我们进行第三方库进行解析
在解析之第三方库会为我们进行数据的解析,而我们要做的就是进行model模型的建立

就拿最近写的项目豆瓣的一个API为?,在这里插入图片描述
在这里插入图片描述
大概的分析一下这个JSON 就是这这一开始是三个变量,然后是一个数组,数组中都是字典嵌套,先看一下.h中的代码
//
// DBBookPageModel.h
// Douban -ImitationDemo
//

#import “JSONModel.h”

NS_ASSUME_NONNULL_BEGIN

//@protocol imageModel
//@end
//@protocol RatingModel
//@end
@protocol ProductModel
@end

@interface imageModel: JSONModel
@property (nonatomic) NSString * medium;
@end

@interface RatingModel: JSONModel
@property (nonatomic) NSInteger average;
@end

@interface ProductModel : JSONModel

@property (nonatomic, copy) NSString * title;
@property (nonatomic, copy) RatingModel * rating;
@property (nonatomic, copy) imageModel * images ;

@end

@interface DBBookPageModel: JSONModel
@property (nonatomic) NSInteger total;
@property (nonatomic, copy) NSArray *subjects;

@end
NS_ASSUME_NONNULL_END

//
// DBBookPageModel.m
// Douban -ImitationDemo
//

#import “DBBookPageModel.h”

@implementation imageModel
+(BOOL)propertyIsOptional:(NSString *)propertyName{
return YES;
}
@end

@implementation RatingModel
+(BOOL)propertyIsOptional:(NSString *)propertyName{
return YES;
}
@end

@implementation ProductModel
+(BOOL)propertyIsOptional:(NSString *)propertyName{
return YES;
}
@end

@implementation DBBookPageModel
+(BOOL)propertyIsOptional:(NSString *)propertyName{
return YES;
}
@end

model就建好了,需要注意的两点

1 区分字典和数组

+ 首先如果是数组是要 @property (nonatomic, copy) NSArray <ProductModel> *subjects;
+ 如果是字典就是 RatingModel * rating;

2

@implementation DBBookPageModel
+(BOOL)propertyIsOptional:(NSString *)propertyName{
    return  YES;
}
之所以要写这个方法是因为你请求的数据你只要你需要的,所以你写的属性中对应原来的是不全的,所以就在这里进行改写,系统就不会报错。
发布了34 篇原创文章 · 获赞 4 · 访问量 729

猜你喜欢

转载自blog.csdn.net/weixin_44824650/article/details/102756818