IOS 返回JSON数据中存在NULL的解决办法
来源:互联网 发布:电视节目策划 知乎 编辑:程序博客网 时间:2024/06/04 05:14
有些后台写的不好,返回数据的字段偶尔有NULL类型存在,如果不直接赋值给其他对象就会造成崩溃。解决办法的主要思路就是将其中的NULL对象转换为@”“空字符串。以下是封装好的方法
创建一个字典的分类
.h文件
#import <Foundation/Foundation.h>@interface NSDictionary (SetNilStr)+(id)changeType:(id)myObj;@end
.m文件
#import "NSDictionary+SetNilStr.h"@implementation NSDictionary (SetNilStr)//将NSDictionary中的Null类型的项目转化成@""+(NSDictionary *)nullDic:(NSDictionary *)myDic{ NSArray *keyArr = [myDic allKeys]; NSMutableDictionary *resDic = [[NSMutableDictionary alloc]init]; for (int i = 0; i < keyArr.count; i ++) { id obj = [myDic objectForKey:keyArr[i]]; obj = [self changeType:obj]; [resDic setObject:obj forKey:keyArr[i]]; } return resDic;}//将NSArray中的Null类型的项目转化成@""+(NSArray *)nullArr:(NSArray *)myArr{ NSMutableArray *resArr = [[NSMutableArray alloc] init]; for (int i = 0; i < myArr.count; i ++) { id obj = myArr[i]; obj = [self changeType:obj]; [resArr addObject:obj]; } return resArr;}//将NSString类型的原路返回+(NSString *)stringToString:(NSString *)string{ return string;}//将Null类型的项目转化成@""+(NSString *)nullToString{ return @"";}//主要方法//类型识别:将所有的NSNull类型转化成@""+(id)changeType:(id)myObj{ if ([myObj isKindOfClass:[NSDictionary class]]) { return [self nullDic:myObj]; } else if([myObj isKindOfClass:[NSArray class]]) { return [self nullArr:myObj]; } else if([myObj isKindOfClass:[NSString class]]) { return [self stringToString:myObj]; } else if([myObj isKindOfClass:[NSNull class]]) { return [self nullToString]; } else { return myObj; }}@end
需要转换的时候调用以下方法就OK了,不管有多少个层级,全部转换
//json表示获取到的带有NULL对象的json数据NSDictionary *newDict = [NSDictionary changeType:json];
1 0
- IOS 返回JSON数据中存在NULL的解决办法
- iOS 后台返回json解析出现的null的解决办法
- 返回的json数据中过滤掉值是null的属性
- 解决返回数据中存在Null而导致的错误问题
- 处理json数据返回null
- ios解决有关null闪退及json解析数据中null的问题
- springmvc处理返回的JSON数据中把NULL替换成空或者0的问题
- iOS中json解析出现的null,nil,NSNumber的解决办法
- spring-mvc中返回fastjson的json数据去掉null值
- iOS JSON返回的数据有NSNull导致程序崩溃及ios nil、NULL和NSNull的区别
- Excel 表格中存在的数据用oledb方式得到的值为null的现象解析及解决办法
- iOS开发中后台返回null,<null>字段的处理
- 关于springmvc 返回json数据null字段的显示问题
- iOS项目中由于后台数据返回null导致的错误解决
- iOS项目中由于后台数据返回null导致的错误解决
- iOS开发:过滤网络请求中,服务器返回空值null数据的处理(过滤null显示问题)
- thrift:返回null的解决办法
- 接口返回的 json数据中含有双引号 或其他非法字符的解决办法
- Hibernate与JDBC的优缺点
- merge two sorted lists
- Linux下创建与解压,安装zip, tar, tar.gz和tar.bz2文件
- java获取当前类的路径并且把本类的内容全部输出到指定位置
- Linux的原子操作与同步机制
- IOS 返回JSON数据中存在NULL的解决办法
- 锦标赛(n个数中求第一和第二大的数)
- android studio从布局文件中提取style
- php7 5.6 5.4 5.3xcache opcache 性能测试
- Spring属性相关笔记
- windows10下安装refind
- java类的动态加载
- JAVA中对流的使用(一)
- mysql的grant权限