我必须删除未知深度的 JSON 文档的空白元素。像这个:
{
"a": {
"a1": ""
},
"b": {
"b1": "",
"b2": {
"b21": "",
"b22": {
"b22z": "",
"b22x": ""
},
"b23": ""
},
"b3": ""
},
"c": "only non-empty field"
}
我认为最好的主意是使用 JSON.parse 来获取对象然后对其进行处理,所以我得到了这样的东西:
我在这篇文章中找到了这个功能,但它没有像我预期的那样工作:
function filter(obj) {
$.each(obj, function(key, value){
if (value === "" || value === null){
delete obj[key];
} else if (Object.prototype.toString.call(value) === '[object Object]') {
filter(value);
} else if ($.isArray(value)) {
$.each(value, function (k,v) { filter(v); });
}
});
}
用我的对象调用该函数后,我得到一个具有空属性的对象,我不想显示它:
我怎样才能修改上面的代码来得到这个?我已经尝试了我所知道的一切,我要疯了......
慕的地8271018
慕田峪7331174
相关分类