本文为CocoaChina网友天明天投稿
iOS 网络请求中的空类型字符串转换
将网络请求的返回的空数据所有NSNull类型转化成@"" .h 文件
// // NSDictionary+SetNullWithStr.h // Buyers // // Created by 陈小明 on 2017/1/3. // Copyright ? 2017年 wanshenglong. All rights reserved. // #import @interface NSDictionary (SetNullWithStr) /* *把服务器返回的 替换为“” *json表示获取到的带有NULL对象的json数据 *NSDictionary *newDict = [NSDictionary changeType:json]; */ +(id)changeType:(id)myObj; @end
.m 文件
//    
//  NSDictionary+SetNullWithStr.m    
//  Buyers    
//    
//  Created by 陈小明 on 2017/1/3.    
//  Copyright ? 2017年 wanshenglong. All rights reserved.    
//    
#import "NSDictionary+SetNullWithStr.h"    
@implementation NSDictionary (SetNullWithStr)    
//将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使用方法:
NSDictionary *dic = (NSDictionary*)responseObject; NSDictionary *newDic = [NSDictionary changeType:dic];