Javascript 通过字符串访问JSON成员?

Javascript 通过字符串访问JSON成员?,javascript,jquery,json,Javascript,Jquery,Json,我的JSON: json_filter = {"CO": "blah"} 我正在尝试通过字符串值访问成员“CO”。但是,结果是未定义的 var selectedState = $(this).val(); // Selected 'CO' console.log(json_filter.selectedState); 我在想eval()可能有用,但是eval()==魔鬼:)有更好的方法吗?json\u过滤器。selectedState尝试在对象中使用键“selectedState”查找不存在

我的JSON:

json_filter = {"CO": "blah"}
我正在尝试通过字符串值访问成员“CO”。但是,结果是未定义的

var selectedState = $(this).val();
// Selected 'CO'
console.log(json_filter.selectedState);

我在想eval()可能有用,但是eval()==魔鬼:)有更好的方法吗?

json\u过滤器。selectedState
尝试在对象中使用键
“selectedState”
查找不存在的值。相反,要使用变量或表达式作为键查找值,请使用括号/下标表示法:

json_filter[selectedState]

json\u过滤器。selectedState
尝试在对象中使用键
“selectedState”
查找不存在的值。相反,要使用变量或表达式作为键查找值,请使用括号/下标表示法:

json_filter[selectedState]
像这样:

console.log(json_filter[selectedState])
像这样:

console.log(json_filter[selectedState])
使用括号

json_filter[selectedState]
使用括号

json_filter[selectedState]

首先,您的JSON是无效的。它应该使用双引号:

json_filter = {"CO": "blah"}
其次,要通过字符串值访问成员,可以使用以下技巧:

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

首先,您的JSON是无效的。它应该使用双引号:

json_filter = {"CO": "blah"}
其次,要通过字符串值访问成员,可以使用以下技巧:

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

使用括号表示法

json_filter[selectedState];

使用括号表示法

json_filter[selectedState];