如何通过键获取JSON值?遍历JSON时值显示undefined的原因?
问题原因及解决方法
根本原因
你在循环中使用点表示法(json.tooltipInfo.key)访问对象属性时,JavaScript会把这里的key当作字面量属性名,而非循环变量key的实际值。也就是说,代码实际在尝试访问json.tooltipInfo中名为"key"的属性,但这个属性并不存在,因此返回undefined。
解决方法
通过变量动态访问对象属性时,必须使用方括号表示法,这样才能将变量解析为对应的属性名:
const displayTooltip = () => { const json = { "tooltipInfo":{ "caseNo":"test", "caseNumber":"test2" } } console.log(json.tooltipInfo) for (var key in json.tooltipInfo) { console.log("key", key) console.log("value", json.tooltipInfo[key]) // 改用方括号表示法 } }
内容的提问来源于stack exchange,提问作者Heisenberg
相关产品推荐
相关产品推荐

