iOS开发:对象直接转化成JSON
来源:互联网 发布:硕士论文 知乎 编辑:程序博客网 时间:2024/06/04 17:44
+ (NSDictionary*)getObjectData:(id)obj { NSMutableDictionary *dic = [NSMutableDictionary dictionary]; unsigned int propsCount; objc_property_t *props = class_copyPropertyList([obj class], &propsCount); for(int i = 0;i < propsCount; i++) { objc_property_t prop = props[i]; NSString *propName = [NSString stringWithUTF8String:property_getName(prop)]; id value = [obj valueForKey:propName]; if(value == nil) { value = [NSNull null]; } else { value = [self getObjectInternal:value]; } [dic setObject:value forKey:propName]; } return dic;}+ (id)getObjectInternal:(id)obj { if([obj isKindOfClass:[NSString class]] || [obj isKindOfClass:[NSNumber class]] || [obj isKindOfClass:[NSNull class]]) { return obj; } if([obj isKindOfClass:[NSArray class]]) { NSArray *objarr = obj; NSMutableArray *arr = [NSMutableArray arrayWithCapacity:objarr.count]; for(int i = 0;i < objarr.count; i++) { [arr setObject:[self getObjectInternal:[objarr objectAtIndex:i]] atIndexedSubscript:i]; } return arr; } if([obj isKindOfClass:[NSDictionary class]]) { NSDictionary *objdic = obj; NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithCapacity:[objdic count]]; for(NSString *key in objdic.allKeys) { [dic setObject:[self getObjectInternal:[objdic objectForKey:key]] forKey:key]; } return dic; } return [self getObjectData:obj];}
0 0
- iOS开发:对象直接转化成JSON
- iOS: 把对象直接转化成NSDictionary或JSON
- iOS:把对象直接转化成NSDictionary或JSON
- iOS:把对象直接转化成NSDictionary或JSON
- iOS:把对象直接转化成NSDictionary或JSON
- iOS把对象直接转化成NSDictionary或JSON
- 一个json直接转化成实体类的报错
- 把页面直接转化成excel文件的web应用
- net.sf.json 将Json数组直接转换成List对象
- android中xml直接转json
- Spring的@RequestBody非常牛x,可以将提交的json直接转换成POJO对象。
- java对象直接转换成xml格式!
- IOS开发(74)之把 Array 和 Dictionaries 序列化成 JSON 对象
- IOS开发之把 Array 和 Dictionaries 序列化成 JSON 对象
- url直接转化成image,将字符串复制到粘贴板,验证邮箱
- ios 实现 Array 和 Dictionaries 序列化成 JSON 对象
- 对象序列化成JSON格式
- Java对象序列化成JSON对象
- 写在前面
- 安卓Android开发中网络请求接口中含有汉字需要转码,即字节转码
- this关键字、static关键字
- 42. Spring Boot多数据源【从零开始学Spring Boot】
- Mobile phones--树状数组
- iOS开发:对象直接转化成JSON
- Android沉浸式状态栏的简单实现
- MySQL性能优化的最佳21条经验
- 我的it博客开张啦
- 测试
- windows登陆suse虚拟机
- LINUX安装源码软件经典三部曲
- 设计模式(三)单例模式
- mplayer+ffmpeg 组合截图