2010-08-23 15 views
12

edelim asume başvurmak için nasıl:Ben json değişkeni olduğunu json alanlarına

var json ={"A":"a","B":"b","x":"y","a":"b"} 

Ben sadece json.A yazma A'ya başvurmak istiyorum

Anahtarı içinde olduğunda bunu yapmak için nasıl değişken, yani:

var key = "A"; 

değeri veya null (anahtar json değilse) döndüren bir fonksiyon var mıdır? Böyle

cevap

24

Kullanım braket notasyonu,: JavaScript'inizde

var key = "A"; 
var value = json[key]; 

bu iki eşdeğerdir:

object.Property 
object["Property"]; 

Ve açık konuşmak gerekirse, bu JSON sadece belirli bir JSON özgü değildir nesne notasının alt kümesi ... bu, herhangi bir JavaScript nesnesinde çalışır. Sonuç, you can try all of this here numaralı nesnede değilse undefined olacaktır.

+0

1. Bahsettiğiniz iki formun, Mülkiyet'in JS'de çok olduğu ve çok azının beklenmedik bir şekilde rezerve edilmiş bir sözcük olmadığında _only değeri olduğunu unutmayın. Yani bu anlamda 'nesne ['mülk']' 'daha güvenlidir. OTOH, object.Property', JSLint gibi araçların üzerlerinde denetimler yürütebiliyorsa ('' '' '' '' '' '' '' '' '' '' 'statik olarak bilinir. – LarsH