背景
代码要生成一个json,json中可能出现空对象。如何去除这个空对象
本来的想法
树的遍历....
洋洋自得
直接变成string,然后正则匹配>_<
Code
const deleteJsonNullObject = function(obj){
if (obj.constructor !== Object){
return obj;
}
let s = JSON.stringify(obj);
while(s.match(/\"\w+\"\:\s*\{\s*\}/ig)){
s = s.replace(/\"\w+\"\:\s*\{\s*\}/ig, "");
s = s.replace("{,", "{");
s = s.replace(",}", "}");
s = s.replace(",{}", "");
s = s.replace("{},", "");
s = s.replace("{}", "");
}
return JSON.parse(s)
};