2011-09-01 166 views
0

我的JSON:通過字符串訪問JSON成員?

json_filter = {"CO": "blah"} 

我想通過一個字符串值來訪問成員 'CO'。但是,結果未定義。我想eval()可能工作,但eval()==魔鬼:)有沒有更好的方法來做到這一點?

回答

1

像這樣:

console.log(json_filter[selectedState]) 
1

json_filter.selectedState嘗試在您的對象中查找其值爲"selectedState"的值,該值不存在。相反,查找使用一個變量或表達式作爲關鍵值,使用支架/標符號:

json_filter[selectedState] 
1

使用括號

json_filter[selectedState] 
1

第一總之,你的JSON無效。應該用雙引號:

json_filter = {"CO": "blah"} 

其次,由一個字符串值來訪問成員,您可以使用這一招:

var str = "CO" // or selectedState or whatever 
var val = json_filter[str]; // will give you blah 
1

使用括號標記。

json_filter[selectedState];