2010-08-23 14 views
12

Załóżmy, że mam json zmiennej:jak odnoszą się do dziedzin json asume

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

Kiedy chcę odnosić się do i po prostu napisać json.A

Jak to zrobić, gdy mam klucz zmienna, tj .:

var key = "A"; 

Czy istnieje jakaś funkcja, która zwraca wartość lub null (jeśli klucz nie znajduje się w json)?

Odpowiedz

24

użycie notacji nawias, tak:

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

W JavaScript te dwa są równoważne:

object.Property 
object["Property"]; 

I żeby była jasność, to nie jest specyficzne dla JSON, JSON jest po prostu specyficzne podzbiór notacji obiektowej ... działa na dowolnym obiekcie JavaScript. Wynik będzie undefined, jeśli nie ma go w obiekcie, you can try all of this here.

+0

+1. Zauważ jednak, że wspomniane dwa formularze są równoważne - jeśli właściwość nie jest zarezerwowanym słowem _... której jest wiele w JS, a sporo jest nieoczekiwanych. Więc w tym sensie 'object [" Property "]' jest bezpieczniejsze. OTOH, 'object.Property' ma tę zaletę (gdy" Właściwość "jest znana statycznie), że narzędzia takie jak JSLint mogą je sprawdzać. – LarsH

Powiązane problemy