,如果我有一个JSON对象说:删除JSON属性
var myObj = {'test' : {'key1' : 'value', 'key2': 'value'}}
我可以删除 '键1',使其成为:
{'test' : {'key2': 'value'}}
,如果我有一个JSON对象说:删除JSON属性
var myObj = {'test' : {'key1' : 'value', 'key2': 'value'}}
我可以删除 '键1',使其成为:
{'test' : {'key2': 'value'}}
简单:
delete myObj.test.key1;
删除myObj.test ['key1'];也会起作用。 – MyItchyChin 2009-08-02 19:40:45
所以`删除myObj ['test'] ['key1']`;你可以交换`whatever.x`和`whatever ['x']`只要`x`是一个有效的变量名,所以即使`删除myObj ['test'] .key1`也可以。 – 2009-08-02 20:21:27
的选择只要您知道要删除的密钥本身,答案就可以工作,但如果它应该是真正动态的,则需要使用[]符号而不是点符号。
例如:
var keyToDelete = "key1";
var myObj = {"test": {"key1": "value", "key2": "value"}}
//that will not work.
delete myObj.test.keyToDelete
相反,你需要使用:
delete myObj.test[keyToDelete];
替换用[]符号来表示这些值,你希望被删除之前计算的点号。
只是为了迂回,这是一个Javascript对象,而不是“JSON对象”JSON是Javascript对象的字符串表示形式。 – Davy8 2012-03-31 14:30:50