2010-08-23 16 views
12

Let che ho variabile JSON:come fare riferimento ai campi JSON asume

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

Quando voglio fare riferimento a uno scrivo solo json.A

Come fare quando ho chiave una variabile, vale a dire:

var key = "A"; 

c'è qualche funzione che restituisce il valore o null (se la chiave non è in jSON)?

risposta

24

Utilizzare il supporto notazione, in questo modo:

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

In JavaScript questi due sono equivalenti:

object.Property 
object["Property"]; 

E tanto per essere chiari, questo non è JSON specifica, JSON è solo una specifica sottoinsieme della notazione dell'oggetto ... funziona su qualsiasi oggetto JavaScript. Il risultato sarà undefined se non è nell'oggetto, you can try all of this here.

+0

+1. Nota comunque che le due forme che hai citato sono equivalenti solo se la Proprietà non è una parola riservata _... di cui ce ne sono molte in JS, e alcune sono inaspettate. Quindi in questo senso 'object [" Property "]' è più sicuro. OTOH, 'object.Property' ha il vantaggio (quando' Property' è noto staticamente) che strumenti come JSLint possono eseguire controlli su di essi. – LarsH

Problemi correlati