iOS 对象转换成字典
2016-05-05 14:53
393 查看
/** * 对象转换为字典 * * @param obj 需要转化的对象 * * @return 转换后的字典 */ + (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]; }
各位好,之前在开发过程中有这样的需求,从数据库拿到数据后以json的形式传给unity,但是数据库拿到的是对象,对象无法转换为json。所以需要先把对象转换成字典。 上述代码可实现对象与字典的转换。
相关文章推荐
- 苹果开发者账号申请时报错提示错误:Legal Entity Name
- iOS画中画Picture in Picture:你需要知道的9个知识点
- iOS 登录注册只包含数字/手机号验证
- iOS中的加密操作
- iOS 加急审核流程以及从审核中移除构建版本
- iOS 视图高斯模糊(毛玻璃)效果实现
- iOS开发------手动约束布局出现NSAutoresizingMaskLayoutConstraint冲突(解决)
- iOS本地数据存取,看这里就够了
- iOS svn s工具Cornerstone无法上传.a文件
- iOS开发-图片高斯模糊效果
- iOS开发,用了ARC,引入非ARC的第三方,报错
- iOS之修改项目BUG之旅--(二)
- 对iOS锁的一些研究
- iOS开发Xcode使用github托管代码
- iOS性能忧化
- 在BIOS模式下USB的启动热键是什么?(BIOS设置图解教程)
- iOS Crash Log 分析(三)
- iOS 等待条件满足再向下执行但不主卡线程NSRunLoop
- IOS9任务管理器特效的实现
- iOS开发之GCD 多线程 1.串行队列 2.并行队列 3.分组 4.信号量 详细讲解