美文网首页
处理 返回JSON数据存在NULL的问题

处理 返回JSON数据存在NULL的问题

作者: 冰land | 来源:发表于2017-11-22 12:28 被阅读11次

解决办法的主要思路就是将其中的NULL对象转换为@”“空字符串。以下是封装好的方法:

创建一个字典的分类
.h文件


@interface NSDictionary (SetNilStr)

+(id)changeType:(id)myObj;

@end

.m文件


@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];

相关文章

  • 处理 返回JSON数据存在NULL的问题

    解决办法的主要思路就是将其中的NULL对象转换为@”“空字符串。以下是封装好的方法: 创建一个字典的分类.h文件 ...

  • 数据处理

    1、处理返回数据中null 在开发中有时候后台返回的json数据格式不规范,如图所示,可能对我们APP开发解析数据...

  • Json中null的处理方法

    问题描述在服务器返回 json 数据的时候,时常会出现如下数据 "somevalue":null 通过JsonKi...

  • json解析返回空的问题

    今天json解析返回null,是afn的问题,搜索application/json,加上@"text/plain"...

  • ajax

    ajax有关json的处理 json 要求返回的数据类型必须时json格式数据 注意,在python中如果直接返回...

  • Json学习

    json的返回与解析 添加json依赖包以及处理json为bean的包 返回json格式数据到前端(返回信息均为键...

  • iOS 处理后台返回Json数据中处理方案

    iOS小伙伴在开发中进行网络请求数据时,接口可能返回字段为:然后渲染在Label上面就很不适应,如下图...

  • iOS中json数据存在NULL的问题

    问题现象 本人最近发现写的几个项目都会遇到一个严重的坑,程序在获取某些数据之后莫名崩溃(其实很早就发现了,只是不想...

  • PHP json_decode JSON_ERROR_SYNTA

    错误描述 在PHP开发过程中,处理json字符串时, json_decode返回NULL,调用last_error...

  • python中的Nonetype如何处理

    当python处理数据库中返回的字段值时,数据库中的字段值为"NULL",这个"NULL"返回给python程序怎...

网友评论

      本文标题:处理 返回JSON数据存在NULL的问题

      本文链接:https://www.haomeiwen.com/subject/fjpnvxtx.html