如何从json中获取与javascript下拉列表中的用户输入相匹配的键的值?
我有以下格式的json如何从json中获取与javascript下拉列表中的用户输入相匹配的键的值?,javascript,json,Javascript,Json,我有以下格式的json [{"custId":7,"emailId":"raju.allen1888@gmail.com","facebookId":"","twitterId":"","mobilePhone":"","landPhone":"","firstName":"Allen","lastName":""},{"custId":8,"emailId":"raju@gmail.com","facebookId":"","twitterId":"","mobilePhone":"","
[{"custId":7,"emailId":"raju.allen1888@gmail.com","facebookId":"","twitterId":"","mobilePhone":"","landPhone":"","firstName":"Allen","lastName":""},{"custId":8,"emailId":"raju@gmail.com","facebookId":"","twitterId":"","mobilePhone":"","landPhone":"","firstName":"Emanuel","lastName":""}]
我有一个包含所有键的下拉列表,如果我选择一个键,例如emailId,我需要从json获取emailId
当我这样做的时候效果很好
for(i in data){
alert(data[i].emailId);
}
当我从变量中的下拉列表中获取值并尝试像下面那样使用它时,它会给我未定义的错误
var key = $('#dropdownvalue').val(); //emailId as value from the dropdown
for(i in data){
alert(data[i].key);
}
如何解决此问题,请通过下拉菜单选择所选键的值。使用动态名称访问属性:
alert(data[i][key]);
这意味着转到对象数据[i]
并访问一个属性,该属性的名称是键中所包含内容的字符串值用于访问具有动态名称的属性:
alert(data[i][key]);
这意味着转到对象data[i]
并访问一个属性,该属性的名称是key
中所包含内容的字符串值。注意,您拥有的不是JSON(至少如果您可以对其进行迭代!),而是包含其他JS对象的JavaScript数组对象。请参阅JSON标记wiki了解区别。注意,您拥有的不是JSON(至少如果您可以迭代它!),而是包含其他JS对象的JavaScript数组对象。请参见JSON标记wiki以了解差异。