删除 JSON 属性

2022-08-29 23:34:49

如果我有一个JSON对象,说:

var myObj = {'test' : {'key1' : 'value', 'key2': 'value'}}

我可以删除“key1”,所以它变成:

{'test' : {'key2': 'value'}}

答案 1

简单:

delete myObj.test.key1;

答案 2

只要您知道要删除的键本身,所选答案就可以使用,但如果它应该是真正动态的,则需要使用[]表示法而不是点表示法。

例如:

var keyToDelete = "key1";
var myObj = {"test": {"key1": "value", "key2": "value"}}

//that will not work.
delete myObj.test.keyToDelete 

相反,您需要使用:

delete myObj.test[keyToDelete];

将点表示法替换为 [] 表示法,表示要在删除之前计算的值。