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

JSON中weekends数组访问报错:无法读取length属性问题排查

问题分析与修复方案

嘿,这个问题很典型——你犯了个变量混淆的小错误!

你已经通过$.parseJSON(data)把原始的JSON字符串解析成了JavaScript对象,并且存在了json变量里,但循环的时候却还是去访问**未解析的原始字符串data**的weekends属性。字符串本身根本没有weekends这个属性,所以data.weekends是undefined,自然就会报错Cannot read property 'length' of undefined了。

除此之外,你的weekends是数组嵌套数组的结构(每个元素都是["6"]这样的单元素数组),直接打印json.weekends[i]会输出["6"],而不是你想要的6,这部分也需要调整。

修正后的代码

var json = $.parseJSON(data);
for (var i = 0, len = json.weekends.length; i < len; i++) {
    // 取出内层数组的第一个元素,拿到目标值
    console.log(json.weekends[i][0]);
}

更简洁的遍历方式(可选)

如果喜欢更现代的语法,用forEach遍历会更清爽:

var json = $.parseJSON(data);
json.weekends.forEach(function(weekendItem) {
    console.log(weekendItem[0]);
});

这样修改后,Chrome控制台就能正确输出6、8、15啦。

内容的提问来源于stack exchange,提问作者Igor Petev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:32:00