如果我有一个JSON对象说:
var myObj = {'test' : {'key1' : 'value', 'key2': 'value'}}
可以删除'key1',使其变为:
{'test' : {'key2': 'value'}}
答案 0 :(得分:483)
简单:
delete myObj.test.key1;
答案 1 :(得分:98)
只要您知道要删除的密钥本身,所选答案就会起作用,但如果它应该是真正动态的,则需要使用[]表示法而不是点表示法。
例如:
var keyToDelete = "key1";
var myObj = {"test": {"key1": "value", "key2": "value"}}
//that will not work.
delete myObj.test.keyToDelete
相反,你需要使用:
delete myObj.test[keyToDelete];
用[]表示法替换点符号,以便在删除之前评估那些值。