web-dev-qa-db-fra.com

Supprimer un attribut JSON

si j'ai un objet JSON, dites:

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

puis-je supprimer 'key1' pour qu'il devienne:

{'test' : {'key2': 'value'}}
297
g00se0ne

Facile:

delete myObj.test.key1;
508
Josef Pfleger

La réponse sélectionnée fonctionnerait aussi longtemps que vous connaissez la clé que vous souhaitez supprimer, mais si elle devait être réellement dynamique, vous auriez besoin d'utiliser la notation [] au lieu de la notation pointée.

Par exemple:

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

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

à la place, vous devrez utiliser:

delete myObj.test[keyToDelete];

Remplacez la notation par points par la notation [] par les valeurs que vous souhaitez évaluer avant d'être supprimées.

102
praneetloke