您能告诉我如何使用 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 值。
您可以在
JSON.stringify(value, Replacer)
/JSON.parse 中使用
replacer
/reviver
获得更接近的结果(文本,复活者)使用 JSON.stringify 的示例