JSON删除包含空值的属性

时间:2014-09-27 18:02:55

标签: javascript json node.js

我有一个JSON对象:var myObj = {'test':'' , 'test2': '1'}

我想要一个方法来移动JSON对象并删除所有具有空值的属性''。

结果: myObj = {'test2': '1'}

3 个答案:

答案 0 :(得分:1)

这可能是一个可能的解决方案:

var jsonObj = '{"test1":"","test2":"2","test3":"","test4":"4"}';
var jsObj = JSON.parse(jsonObj);

function removeNull(element,index,array){
    if (this[element] == ""){
        delete this[element];
    }
}
(Object.getOwnPropertyNames(jsObj)).forEach(removeNull,jsObj);

点击此链接jsfiddle查看一个有效的示例。

检查属性是否已删除:

alert(Object.getOwnPropertyNames(jsObj)); 

希望它有用!

答案 1 :(得分:0)

这个功能可以做你想要的。

var r = function(object){
   var _return = {};
   for ( var index in object ){
      if(object[index] != ''){
         _return[index] = object[index];
      }
   }
   return _return ;
};

答案 2 :(得分:0)

试试这个jsfiddle

代码:

var myObj = {'test':'' , 'test2': '1','test3': '2'}

var obj = myObj;
for (var key in obj) {
  if (obj.hasOwnProperty(key)) {
    var val = obj[key];
      delete obj[key];
    console.log(val);
  }
}

for (var key in obj) {

    var val = obj[key];
    alert(val);
    //console.log(val);
}

如果您想了解有关理解delete的更多信息,请查看此blog