ios html转json,iOS 中 Model 和 JSON 互相转换
+ (instancetype)modelWithDict:(NSDictionary *)dict
{id objc =[[self alloc] init];
unsignedint count = 0;
Ivar*ivarList = class_copyIvarList(self, &count);for (int i = 0; i < count; i++) {//实例变量
Ivar ivar =ivarList[i];//获取成员属性名
NSString *ivarName =[NSString stringWithUTF8String:ivar_getName(ivar)];
NSString*key = [ivarName substringFromIndex:1];id value =dict[key];if (value ==nil) {continue;
}//获得成员变量的类型
NSString *ivarType =[NSString stringWithUTF8String:ivar_getTypeEncoding(ivar)];
NSLog(@"ivar - %@, type - %@", ivarName, ivarType);
ivarType= [ivarType stringByReplacingOccurrencesOfString:@"\"" withString:@""];
ivarType = [ivarType stringByReplacingOccurrencesOfString:@"@"withString:@""];
if ([value isKindOfClass:[NSDictionary class]]) {
Class modelClass = NSClassFromString(ivarType);
value = [modelClass modelWithDict:value];
} else if ([value isKindOfClass:[NSArray class]]) {
if ([self respondsToSelector:@selector(arrayContainModelClass)]) {
NSString *type = [self arrayContainModelClass][key];
Class classModel = NSClassFromString(type);
NSMutableArray *arrM = [NSMutableArray array];
for (NSDictionary *dict in value) {
id model = [classModel modelWithDict:dict];
if (model) {
[arrM addObject:model];
}
}
value = arrM;
}
}
if (value) {
[objc setValue:value forKey:key];
}
}
return objc;
}
ios html转json,iOS 中 Model 和 JSON 互相转换相关推荐
- 获取Json对象中Json数组中的一个Json对象
比如:获取以下数据的data中的数据 { "message": "successful", "resultCode": "0&qu ...
- C++:从json文件中读取参数/创建文件夹/位拼接
目录 1.从json文件中读取参数 2.创建文件夹 3.位运算拼接 1.从json文件中读取参数 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml ...
- 将JSON对象中的某个字段进行分组和排序(java实现)
现在有这样一个数据 { "systemid": "123", "productid": "123", "dat ...
- nodejs写入json文件,格式化输出json的方法
将 JSON 对象写入文件. 使用 fs.writeFile(),模板字面量 和 JSON.stringify() 将 json 对象写入到 .json 文件中. 写入json文件后,都会出现很恶心的 ...
- IOS中四种json解析效率比较
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此"http://www.bejson.com/"网站来进 ...
- shell脚本 -- 用途替换所有json文件(main.json 除外)中的 ios下载链接
#!/bin/bash #脚本用途 替换所有json文件(main.json 除外)中的 ios下载链接 #调用格式 "xxx.sh" (脚本名称) "ios||and& ...
- iOS最全性能优化(中)
续 性能优化(上) 9. 重用和延迟加载(lazy load) Views 更多的view意味着更多的渲染,也就是更多的CPU和内存消耗,对于那种嵌套了很多view在UIScrollView里边的ap ...
- iOS基础-数据解析方法初步总结-(XML,JSON欢迎指正)
小时候的记忆与大家一起分享,愿君安好! 解析的基本概念 解析: 从事先规定好的格式中提取数据 解析的前提: 提前约定好格式,数据提供方按照格式提供数据,数据获取方则按照格式获取数据 OS开发常见的解析 ...
- ios开发 ajax hook,IOS中的网络拦截总结
因为业务场景需要,要求对App中网络请求进行拦截.这里包括原生网络请求和WebView里的网络请求.之前我们了解过原生网络请求的拦截是可以实现的,但是WebView中网络请求似乎还不太可能,所以抱着尝 ...
最新文章
- Nessus更新到8.5.0
- opnet中的例子模型
- 喜报 | 安信证券签约神策数据!
- sklearn处理文本和分类属性的方式
- long 对应oracle,【转】oracle number与java中long、int的对应
- 跟踪异常–第5部分–使用Spring进行计划
- 【嵌入式基础常识】单片机
- 优动漫PAINT软件中混合模式使用实例
- 【python教程入门学习】Python字典及基本操作(超级详细)
- 固定不动的层(兼容IE6)
- 这是一篇转载:HOG特征(这是我看到过的讲的最适合我的博客)
- 植树节|晓一叶之理,种一树美好
- 218本巴菲特、芒格及段永平推荐书籍下载 (2012-03-31 22:53:28)
- SpringBoot中集成Redis实现对redis中数据的解析和存储
- win10计算机左边栏,教你把win10任务栏透明设置
- 中文用户输入纠错 综述
- ANR 弹窗的显示原理
- CSS # 通过CSS使图片颜色反转
- 将Html网页或者是Aue项目打包成App
- AR9331 SDK编译
热门文章
- DHT11温湿度传感器模块使用方法和驱动代码实现
- Centos 6.8 配置mysql数据库主从同步
- Log4j2 - java.lang.NoSuchMethodError: com.lmax.disruptor.dsl.Disruptor
- Hive配置文件中配置项的含义详解(收藏版)
- 清除Outlook 2013中缓存的邮件地址
- Thinkphp列表搜索排序-----查
- 【转帖】防止ASP.NET按钮多次提交的办法
- 【个人笔记】OpenCV4 C++ 快速入门 19课
- pthread_join pthread_exit 线程 Linux函数 线程退出 线程等待
- 显卡= GPU+显存(八)