2010-08-23 58 views
12

讓我們asume,我有JSON變量:如何引用JSON領域

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

當我想指的是我只寫json.A

怎麼做時,我有鑰匙一個變量,即:

var key = "A"; 

是否有任何函數返回值或null(如果鍵不在json中)?

回答

24

使用括號標記,像這樣:

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

在JavaScript中這兩者是等價的:

object.Property 
object["Property"]; 

而僅僅是明確的,這是不特定的JSON,JSON只是一個特定的對象表示法的子集......這適用於任何JavaScript對象。如果不在對象you can try all of this here中,結果將爲undefined

+0

+1。但請注意,你提到的兩種形式是等效的 - 如果該屬性不是一個保留字_...,其中有許多JS,並且有很多是意外的。所以在這個意義上'object [「Property」]'更安全。 OTOH,'object.Property'具有優勢(當'Property'靜態地知道時),像JSLint這樣的工具可以對它們執行檢查。 – LarsH 2010-08-23 16:17:51