您能告诉我如何使用 javascript 删除 json 中所有空值的对象吗?
我还需要删除带有 null/空键的嵌套对象。
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"text": null,
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"definition": null
},
"GlossSee": "markup",
"window": {
"title": "Sample Konfabulator Widget",
"description": ""
}
}
}
},
"image": {
"src": null,
"name": null,
"alignment": null
},
"text": {
"data": "Click Here",
"size": null,
"style": "bold",
"name": "text1",
"hOffset": "",
"vOffset": "",
"alignment": "center",
"onMouseUp": null
}
}
}
需要输出如下:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook."
},
"GlossSee": "markup",
"window": {
"title": "Sample Konfabulator Widget"
}
}
}
},
"text": {
"data": "Click Here",
"style": "bold",
"name": "text1",
"alignment": "center"
}
}
}
如何递归地删除整个 json 中带有 null 或空键的对象。
就像 image 对象一样,它的键具有空值或 null 值。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您可以在
JSON.stringify(value, Replacer)/JSON.parse 中使用replacer/reviver获得更接近的结果(文本,复活者)使用 JSON.stringify 的示例
let data = {"glossary":{"title":"example glossary","GlossDiv":{"title":"S","text":null,"GlossList":{"GlossEntry":{"ID":"SGML","SortAs":"SGML","GlossTerm":"Standard Generalized Markup Language","Acronym":"SGML","Abbrev":"ISO 8879:1986","GlossDef":{"para":"A meta-markup language, used to create markup languages such as DocBook.","definition":null},"GlossSee":"markup","window":{"title":"Sample Konfabulator Widget","description":""}}}},"image":{"src":null,"name":null,"alignment":null},"text":{"data":"Click Here","size":null,"style":"bold","name":"text1","hOffset":"","vOffset":"","alignment":"center","onMouseUp":null}}} let json = JSON.stringify(data, (key, value) => { return (value === null || value === '') ? undefined : value }, 4) console.log(json)