|
- //
- // FlutterAlibcTools.m
- // flutter_alibc
- //
- // Created by 吴兴 on 2019/8/29.
- //
-
- #import "FlutterAlibcTools.h"
-
- @implementation FlutterAlibcTools
-
- + (BOOL)isNil:(NSString *)string {
- if (string == nil) {
- return YES;
- }
-
- if ([string isKindOfClass:[NSNull class]]) {
- return YES;
- }
- return [[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0;
- }
-
- + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString{
- if (jsonString == nil) {
- return nil;
- }
-
- NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
- NSError *err;
- NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
- options:NSJSONReadingMutableContainers
- error:&err];
- if(err)
- {
- NSLog(@"json解析失败:%@",err);
- return nil;
- }
- return dic;
- }
-
- + (id)nullToNil:(id)obj{
- if ([obj isKindOfClass:[NSNull class]]) {
- return nil;
- }
- return obj;
- }
-
-
- #pragma mark - 公有方法,直接使用
- //类型识别:将所有的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;
- }
- }
-
- #pragma mark - 私有方法
- //将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>";
- return @"";
- }
-
- @end
|