去除对象中值为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);
    }

 

转载于:https://www.cnblogs.com/lweiruil/p/5500260.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值