无法读取未定义的 属性 'TUT'?
Cannot read property 'TUT' of undefined?
我用 jquery 加载了一个 json 文件,然后尝试访问某些属性,但出现未定义的错误。当我打印json对象时,我可以清楚地看到里面的对象
{
"Calculus 1": {
"LEC": {
"sections": [
"LEC01",
"LEC02"
],
"days": [
[
"MO",
"WE"
],
[
"MO",
"TH"
]
],
"start": [
[
"12:00",
"11:00"
],
[
"13:00",
"13:00"
]
],
"end": [
[
"13:00",
"13:00"
],
[
"14:00",
"15:00"
]
]
},
"TUT": {
"sections": [],
"days": [],
"start": [],
"end": []
},
"PRA": {
"sections": [],
"days": [],
"start": [],
"end": []
}
}
}
这是我的 JSON 的简化版本。我的代码中尝试访问 属性 的部分如下所示。
if(info[courses[i]]['TUT']['sections'].length == 0){
tut = -1;
}
这是我加载 JSON 的方式。上面的代码在 some 函数中。当我在传递函数后打印信息时,它正是我 JSON 中的信息。
$.getJSON('/public/courseinfo.json', function(info){
var x = some_function(courses, info);
});
我得到的错误是 "Cannot read property 'TUT' of undefined"。 Info 只是我从 JSON 加载的对象的变量。当我将变量打印到控制台时,我得到了它应该是什么样子。如果我只是做 `info[courses[i]] = some 属性' 我不会得到错误。 'info[courses[i]].length == 0'也提示无法读取属性'length'错误。我不确定这是否是语法问题,但我似乎无法弄清楚它有什么问题。
抛出错误,因为 info[courses[i]]
是 undefined
。检查什么返回 courses[i]
。 courses[i]
应该返回 Calculus 1
我用 jquery 加载了一个 json 文件,然后尝试访问某些属性,但出现未定义的错误。当我打印json对象时,我可以清楚地看到里面的对象
{
"Calculus 1": {
"LEC": {
"sections": [
"LEC01",
"LEC02"
],
"days": [
[
"MO",
"WE"
],
[
"MO",
"TH"
]
],
"start": [
[
"12:00",
"11:00"
],
[
"13:00",
"13:00"
]
],
"end": [
[
"13:00",
"13:00"
],
[
"14:00",
"15:00"
]
]
},
"TUT": {
"sections": [],
"days": [],
"start": [],
"end": []
},
"PRA": {
"sections": [],
"days": [],
"start": [],
"end": []
}
}
}
这是我的 JSON 的简化版本。我的代码中尝试访问 属性 的部分如下所示。
if(info[courses[i]]['TUT']['sections'].length == 0){
tut = -1;
}
这是我加载 JSON 的方式。上面的代码在 some 函数中。当我在传递函数后打印信息时,它正是我 JSON 中的信息。
$.getJSON('/public/courseinfo.json', function(info){
var x = some_function(courses, info);
});
我得到的错误是 "Cannot read property 'TUT' of undefined"。 Info 只是我从 JSON 加载的对象的变量。当我将变量打印到控制台时,我得到了它应该是什么样子。如果我只是做 `info[courses[i]] = some 属性' 我不会得到错误。 'info[courses[i]].length == 0'也提示无法读取属性'length'错误。我不确定这是否是语法问题,但我似乎无法弄清楚它有什么问题。
抛出错误,因为 info[courses[i]]
是 undefined
。检查什么返回 courses[i]
。 courses[i]
应该返回 Calculus 1