2009-08-02 4 views
224

Kaldır ki: BasitJSON özelliği

{'test' : {'key2': 'value'}} 
+5

Sadece pedantic olmak için, bu bir Javascript nesnesi, bir "JSON nesnesi" değil JSON, Javascript nesnesinin dize olarak temsilidir. – Davy8

cevap

382

:

delete myObj.test.key1; 
+16

myObj.test ['key1'] öğesini sil; de çalışırdı. – MyItchyChin

+26

Bu yüzden myObj ['test'] ['key1'] '; "x" geçerli bir değişken adı olduğu sürece "whatever.x" ve "ne olursa olsun" ("x") 'i değiştirebilir, hatta myObj [' test ']' i silebilir. –

+1

https://fiddle.jshell.net/jr0enbua/ Burada silme işlemini kullanan bir örnek var –

82

seçilmiş o olur böylece

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

Ben 'key1 dizesini' kaldırabilirsiniz Cevap, silmek istediğiniz anahtarın kendisini bildiğiniz sürece çalışacaktır, ancak eğer gerçekten dinamik olsaydı, [] gösterimini kullanmak yerine nokta gösterimi. Örneğin

:

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

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

yerine kullanmak gerekir: Eğer silinmeden önce değerlendirilir istediğiniz bu değerler için [] gösterimi ile

delete myObj.test[keyToDelete]; 

Yedek nokta işaretini.

+0

Dinamizm seçeneğini beğeniyorum. Bir json nesnesinden dinamik olarak bir özelliği kaldırmak için kendi durumumda yardımcı oldu – user1862764

+0

Yukarıdaki çözümü kontrol ederken, zaten bir çözüm ise çözümün ne olduğunu düşünün, tm için zamanımı sakladığınız için teşekkürler – zhihong

+0

Hey @ praneetloke sorgu JSON dizisi Ex olsun: [{\ "Ülke kodu \": \ "DE \", \ "sayın \": \ "3 \"}] ama [{"DE": "3"} gibi almak istiyorum ] Bunun gibi ama bu çıkışı almıyorum Lütfen bana yardım –