从 JSON 中删除空属性
Remove empty properties from JSON
我想删除每个空的(例如 "a" = "")JSON 属性
来自信封内的实例部分。
我写了如下代码,但它不起作用。
谁能告诉我如何进行这项工作?
let doc = fn.doc(URI);
function cleanProp(doc) {
for (var propName in doc) {
if (doc[propName] === null || doc[propName] === undefined || doc[propName] === "") {
delete doc[propName];
}
}
}
cleanProp(doc);
试试这个。希望对你有帮助
注意:如果您正在寻找动态循环,它只适用于给定的变量,您可以递归循环。
let doc = {"envelope":{"headers":[], "triples":[], "instance":{"A":"22", "B":""} }};
function cleanProp(doc) {
for (var propName in doc) {
for(var d in doc[propName]){
if (!isEmpty(doc[propName][d]) || doc[propName][d].length != 0) {
for (var f in doc[propName][d]){
if (doc[propName][d][f] === null || doc[propName][d][f] === undefined || doc[propName][d][f] === "") {
delete doc[propName][d][f];
}
}
}
}
}
}
cleanProp(doc);
console.log(doc);
function isEmpty(obj) {
for(var key in obj) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}
我想删除每个空的(例如 "a" = "")JSON 属性 来自信封内的实例部分。 我写了如下代码,但它不起作用。 谁能告诉我如何进行这项工作?
let doc = fn.doc(URI);
function cleanProp(doc) {
for (var propName in doc) {
if (doc[propName] === null || doc[propName] === undefined || doc[propName] === "") {
delete doc[propName];
}
}
}
cleanProp(doc);
试试这个。希望对你有帮助
注意:如果您正在寻找动态循环,它只适用于给定的变量,您可以递归循环。
let doc = {"envelope":{"headers":[], "triples":[], "instance":{"A":"22", "B":""} }};
function cleanProp(doc) {
for (var propName in doc) {
for(var d in doc[propName]){
if (!isEmpty(doc[propName][d]) || doc[propName][d].length != 0) {
for (var f in doc[propName][d]){
if (doc[propName][d][f] === null || doc[propName][d][f] === undefined || doc[propName][d][f] === "") {
delete doc[propName][d][f];
}
}
}
}
}
}
cleanProp(doc);
console.log(doc);
function isEmpty(obj) {
for(var key in obj) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}