在mvvm 开发模式下使用JSonModel解析数据
来源:互联网 发布:Java编程从aaaa到zzzz 编辑:程序博客网 时间:2024/05/12 15:45
/**
* JsonModel
*/
主要是讲了用JsonModel解析数据时遇到点三种不同的解法
// 系统返回的Json
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:[Json dataUsingEncoding:NSUTF8StringEncoding] options: NSJSONReadingMutableContainers error:&error];
_user = [[User alloc] initWithDictionary:dic error:nil];
1.当Json只是单纯的字典时直接解析就行
在User.h
@interface User : JSONModel
@property (nonatomic, copy) NSString <Optional>* password;//
@property (nonatomic, copy) NSString <Optional>* phone;//
@property (nonatomic, copy) NSString <Optional>* infor;//用户id
@end
在User.m
@implementation User
@end
2.当字典里还有json数据时 要在User 里面进行第二次解析
例如上面的infor的值JSon类型 哪么应该这样
在User.h
@interface User : JSONModel
@property (nonatomic, copy) NSString <Optional>* password;//
@property (nonatomic, copy) NSString <Optional>* phone;//
@property (nonatomic, copy) NSString <Optional>* infor;//
@property (nonatomic, copy) Infor <Optional>* objInfor;//
@end
// 在对infor第二次解析 解析成类Infor
@interface Infor : JSONModel
@property (nonatomic, copy) NSString <Optional>* phone;
@property (nonatomic, copy) NSString <Optional>* address;
@end
在User.m
@implementation User
- (void)setInfor:(NSString *)infor{
_infor = infor;
self.objInfor = [[Infor alloc]initWithData:[_infor dataUsingEncoding:NSUTF8StringEncoding] error:nil];
}
@end
@implementation Infor
@end
#pragma mark -- 如果返回的是数组的话
/**
* 数组为GoodsTimeList数组里面的每一组数据是GoodsTime
*/
在User.h
@interface GoodsTime : JSONModel
@property (nonatomic, copy) NSString <Optional>* goods_time_id;
@property (nonatomic, copy) NSString <Optional>* goods_time_name;
@end
@protocol GoodsTime @end
@interface GoodsTimeList : JSONModel
@property (strong,nonatomic) NSArray<GoodsTime,Optional> *GoodsTimeList;
@end
在User.m
@implementation GoodsTime
@end
@implementation GoodsTimeList
@end
#pragma mark --如果从服务器收到的数据不符合规则的话需要自己拼凑成方便解析的类型
/**
* 配合上面的例子来说如果服务端返回的数组前面没有数组名的话 可以自己添加一个数组名字如下
*/
NSString *str = [NSString stringWithFormat:@"{\"GoodsTimeList\":%@}",Json];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil];
self.goodsTimeList = [[GoodsTimeList alloc] initWithDictionary:dic error:&error];
以上就是利用JsonModel解析数据的一些方法了 个人极少写文章表达不清希望见谅 !一般用在mvvm
- 在mvvm 开发模式下使用JSonModel解析数据
- 在WP8开发中的使用MVVM模式
- JSON数据---JSONModel解析
- MVVM开发模式实例解析
- iOS开发主流的数据解析框架JSONModel
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- JSONModel解析数据成Model
- NFS 安装记录
- 使用ajax前必须了解的知识
- ZOJ3806-Incircle and Circumcircle
- js二维数组案例,以及矩阵转置
- 大神们看看这是缺少什么包啊java.lang.ClassNotFoundException: org.springframework.core.env.EnvironmentCapable
- 在mvvm 开发模式下使用JSonModel解析数据
- 老外的教学网站Javascript-OOP
- Ugly Number
- Codeforces 554A Kyoya and Photobooks 【水题】
- h5 优化
- Textswitcher的简单用法与功能(文本切换器)
- java实现十进制小数转换二进制
- python 字符串常用操作汇总
- 正则表达式:检测密码由6-21字母和数字组成