动态检索 JavaScript 属性 值
Dynamically retrieving JavaScript property value
我正在尝试动态更改用户可用的选项。用户将选择 1 或 2。一旦他们选择了一个值,我需要加载与该值关联的选项。目前,我有以下内容:
var json = {'1':[{ 'value':'A', 'text':'Option - A'}, { 'value':'B', 'text':'Option - B'}], '2':[{ 'value':'A', 'text':'Choice - A'}, { 'value':'B', 'text':'Choice - B'}]};
var userWants = '1';
alert(json[userWants]);
奇怪的是,警报 window 只显示 ,
。我不明白为什么。我做错了什么?
警报无法以 自然 形式显示 JSON
对象。尝试记录日志
var json = {'1':[{ 'value':'A', 'text':'Option - A'}, { 'value':'B', 'text':'Option - B'}], '2':[{ 'value':'A', 'text':'Choice - A'}, { 'value':'B', 'text':'Choice - B'}]};
var userWants = '1';
console.log(json[userWants]);
另外,参见 how to alert javascript object
Alert 使用 .toString()
将对象转换为字符串,这不会给您很好的输出:
var a = {'value': 'A', 'text': 'Option - A'};
alert(a); // should alert [object Object]
您可以使用JSON.stringify
来很好地显示对象:
alert(JSON.stringify(a)); // should alert {"value":"A","text":"Option - A"}
或:
var json = {'1':[{ 'value':'A', 'text':'Option - A'}, { 'value':'B', 'text':'Option - B'}], '2':[{ 'value':'A', 'text':'Choice - A'}, { 'value':'B', 'text':'Choice - B'}]};
var userWants = '1';
alert(JSON.stringify(json[userWants])); // should alert a nicely-formatted list
使用 console.log(json[userWants]);
而不是警报。
您可以在 Chrome 中使用快捷方式 Ctrl + Shift + J
或在 Firefox 中使用 Firebug for Firefox 打开它,从而在控制台中查看输出。
我正在尝试动态更改用户可用的选项。用户将选择 1 或 2。一旦他们选择了一个值,我需要加载与该值关联的选项。目前,我有以下内容:
var json = {'1':[{ 'value':'A', 'text':'Option - A'}, { 'value':'B', 'text':'Option - B'}], '2':[{ 'value':'A', 'text':'Choice - A'}, { 'value':'B', 'text':'Choice - B'}]};
var userWants = '1';
alert(json[userWants]);
奇怪的是,警报 window 只显示 ,
。我不明白为什么。我做错了什么?
警报无法以 自然 形式显示 JSON
对象。尝试记录日志
var json = {'1':[{ 'value':'A', 'text':'Option - A'}, { 'value':'B', 'text':'Option - B'}], '2':[{ 'value':'A', 'text':'Choice - A'}, { 'value':'B', 'text':'Choice - B'}]};
var userWants = '1';
console.log(json[userWants]);
另外,参见 how to alert javascript object
Alert 使用 .toString()
将对象转换为字符串,这不会给您很好的输出:
var a = {'value': 'A', 'text': 'Option - A'};
alert(a); // should alert [object Object]
您可以使用JSON.stringify
来很好地显示对象:
alert(JSON.stringify(a)); // should alert {"value":"A","text":"Option - A"}
或:
var json = {'1':[{ 'value':'A', 'text':'Option - A'}, { 'value':'B', 'text':'Option - B'}], '2':[{ 'value':'A', 'text':'Choice - A'}, { 'value':'B', 'text':'Choice - B'}]};
var userWants = '1';
alert(JSON.stringify(json[userWants])); // should alert a nicely-formatted list
使用 console.log(json[userWants]);
而不是警报。
您可以在 Chrome 中使用快捷方式 Ctrl + Shift + J
或在 Firefox 中使用 Firebug for Firefox 打开它,从而在控制台中查看输出。