首先我们需要配置好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;
}
之所以要写这个方法是因为你请求的数据你只要你需要的,所以你写的属性中对应原来的是不全的,所以就在这里进行改写,系统就不会报错。