You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过键获取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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:20:42