jsonModel解析一般的数据比较简单,这里记录一下困扰了一个下午的解析数组(关键是第二步,即红色部分,如果你已使用过jsonmodel,看红色部分即可):
eg.一段json数据
{
"code": 0,
"info": "success",
"data": {
"uid": "10299",
"join": [
{
"name": "wqm",
"avater": "http:\/\/dev.nczmall.com\/images\/default_user_icon.png",
"time": "2016-05-20 15:08:45"
},
{
"name": "wqm1",
"avater": "http:\/\/dev.nczmall.com\/images\/default_user_icon.png",
"time": "2016-05-20 15:08:45"
}
]
}
1 .先建join模型
JoinModel.h
@interface JoinModel : JsonModel
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *avater;
@property (nonatomic, copy) NSString *time;
@end
JoinModel.cpp
@implementation JoinModel
@end
2 data模型(关键步骤)
DataModel.h
@protocal JoinModel //不是我写错,需要protocal声明JoinModel为协议,否则jsonmodel无法正确解析数组(JoinModel和上面1中的jsonModel命名要相同)
@end
@property (nonatomic, copy) NSString* uid;
@property (nonatomic, strong) NSArray<JoinModel> *join; //JoinModel是协议,尖括号内没用星号!
}
@end
DataModel.cpp
@implementation DataModel
@end
3.整个json数据模型
PrizeModel.h
@protocal PrizeModel
@end
@property (nonatomic, assign) NSInteger code;
@property (nonatomic, copy) NSString* info;
@property (nonatomic, strong) DataModel *data;
}
@end
PrizeModel.cpp
@implementation PrizeModel
@end
4.使用
PrizeModel *model =[[PrizeModel alloc] initWithDictionary:dataDic error: nil]; //dataDic为生面的json数据。
然后在model中就可以看到解析好的数据数据了。(还没看到,联系我(qq: 1246489125))