去除对象中值为null、undefined、“”的字段

function removeEmptyField(obj) {
        var newObj = {};
        if(typeof obj == "string"){
            obj = JSON.parse(obj);
        }
        if(obj instanceof Array){
            newObj = [];
        }
        if(obj instanceof Object){
            for(var attr in obj){
                if(obj.hasOwnProperty(attr) && obj[attr] !== "" && obj[attr] !== null && obj[attr] !== undefined){
                    if(obj[attr] instanceof Object){
                        newObj[attr] = removeEmptyField(obj[attr]);
                    }else if(typeof obj[attr] == "string" && ((obj[attr].indexOf("{") > -1 && obj[attr].indexOf("}") > -1) || (obj[attr].indexOf("[") > -1 && obj[attr].indexOf("]") > -1))){
                        try{
                            var attrObj = JSON.parse(obj[attr]);
                            if(attrObj instanceof Object){
                                newObj[attr] = removeEmptyField(attrObj);
                            }
                        }catch (e){
                            newObj[attr] = obj[attr];
                        }
                    }else{
                        newObj[attr] = obj[attr];
                    }
                }
            }
        }
        return newObj;
    }

对象转字符串去除无效字段

function stringifyNoEmptyField(obj){
        var newObj = removeEmptyField(obj);
        for(var attr in newObj){
            if(newObj.hasOwnProperty(attr) && newObj[attr] instanceof Array){
                newObj[attr] = JSON.stringify(newObj[attr]);
            }
        }
        return JSON.stringify(newObj);
    }
时间: 2024-10-04 11:54:06

去除对象中值为null、undefined、“”的字段的相关文章

去除对象中的null值属性

function removeNull(option) { if (!option) { return; } for (var attr in option) { if (option[attr] === null && attr !== 'teacherId') { delete option[attr]; continue; } if (typeof (option[attr]) == "object") { removeNull(option[attr]); }

js中使用0 “” null undefined需要注意

注意:在js中0为空(false) ,代表空的还有"",null ,undefined: 如果做判断if(!上面的四种值):返回均为false console.log(!null);// trueconsole.log(!0);//trueconsole.log(!"");// trueconsole.log(!undefined);// true console.log(0=="");//true console.log(0==" &

SpringMVC 中List 对象转换成Json格式 List对象中属性为NUll解决

问题起因:今天在做一个EasyUI 同步树的时候,在SpringMVC中用 @ResponseBody标签将List<tree> 集合转换成Json数据的时候,出现一些原因. 问题描述:1.tree对象有个List<tree>属性需要为空,这个是做树用的,下级没值当然不能有null了 代码: [{"id":1,"text":"权限管理 ","state":"closed  ",&qu

spring mvc 删除返回字符串中值为null的字段

在spring的配置文件中进行一下配置: <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter

获取对象中值的两种方法

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <input type="button" name="" id="btn" value="按钮" /> <input type=&

构造From窗体获取数据库数据,去除数据库中无用信息,并赋值给字段,最后画出图

private void cbNum_SelectedIndexChanged(object sender, EventArgs e) { FieldListLug.Clear();//继续清除字段 if (cbType.Text == A)//选择了A { string killedString = ""; killedString = "ID,lugNumber,q1,q2,DnX,DnD,Th,kg"; DataTable tbSize =GetAccessD

【Java】【50】BeanUtils.copyProperties();只从源对象中拷贝自己为null的值

前言: 关联博客: [Java][3]BeanUtils.copyProperties():将一个实体类的值复制到另外一个实体类 - 花生喂龙 - 博客园https://www.cnblogs.com/huashengweilong/p/10690509.html 关联博客里的是最简单的两个实体类赋值的情况,将oldEntity的值,赋给newEntity.而项目中有时的要求是,newEntity里的对应字段有值,就用newEntity里的:没有值,才将oldEntity的值赋给newEntit

Javascript 中的false,零值,null,undefined和空字符串对象

在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来看看他们的类型分别是什么: <script type="text/javascript"> alert(typeof(false) === 'boolean'); alert(typeof(0) === 'number'); alert(typeof("")

关于Javascript中通过实例对象修改原型对象属性值的问题

Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的说就1种,即Object类型.往细的说有:Object类型.Array类型.Date类型.Regexp类型.Function类型等. 当原型对象的属性值为基本类型的数据值时,通过实例对象修改属性值从而引起原型对象的属性值发生变化的情况不会发生.当原型对象的属性值为引用类型的数据值时,通过实例对象修改