ios jsonModel解析数组
2016-05-28 15:36
375 查看
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
@interface DataModel: JsonModel {
@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
@interface PrizeModel: JsonModel {
@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))
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
@interface DataModel: JsonModel {
@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
@interface PrizeModel: JsonModel {
@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))
相关文章推荐
- Nagios
- iOS-OC中的静态方法(类方法)与实例方法
- IOS- 开发证书与发布证书申请和安装步骤
- iOS-OC中的类与对象
- iOS一个全屏滑动返回手势
- iOS中QQ登录界面的制作,登录页面和注册页面的切换
- iOS 常用技术 — 获取手机基本信息
- iOS动画系列之一--视图与图层
- iOS常用技术 —获取验证码 倒计时 实现
- iOS自定义NavigationBar
- [置顶] iOS Provisioning Profile(Certificate)与Code Signing详解
- iOS 开发遇到问题
- ios常用技术 - 获取系统时间
- iOS开发~CocoaPods使用详细说明
- HDU 1017 A Mathematical Curiosity
- iOS开发之手势识别汇总
- iOS学习- 02 控件
- iOS 用Quartz2D实现图片水印,裁剪,连线等功能
- 多视图的参数传递
- iOS 关于枚举的使用