在很多情况下,我们需要简化js中的JSON对象,把一下值为空或者null的键值对去掉
比如在使用vue的时候有可能会遇到如下错误:
Invalid prop: type check failed for prop "index". Expected String, got Null.
原因也是JSON对象中存在null值。
js删除JSON中的空字符串字段和空对象的方法如下:
function deleteEmptyProperty(object){
for (var i in object) {
var value = object[i];
if (typeof value === 'object') {
if (Array.isArray(value)) {
if (value.length == 0) {
delete object[i];
continue;
}
}
this.deleteEmptyProperty(value);
if (this.isEmpty(value)) {
delete object[i];
}
} else {
if (value === '' || value === null || value === undefined) {
delete object[i];
} else {
}
}
}
}
function isEmpty(object) {
for (var name in object) {
return false;
}
return true;
}