删除JSON属性

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

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

我可以删除'key1',使它变成:

{'test' : {'key2': 'value'}}
463136 次浏览

简单:

delete myObj.test.key1;

只要知道要删除的键本身,选择的答案就可以工作,但如果它应该是真正动态的,则需要使用[]符号而不是点符号。

例如:

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


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

相反,你需要使用:

delete myObj.test[keyToDelete];

对于要在删除之前计算的值,用[]符号代替点符号。