我已经为这个问题苦苦挣扎了一段时间了。当我尝试 console.log JSON 属性时,出现以下错误:
TypeError: Cannot read property 'timelineData' of undefined
这就是我的 JSON 文件的样子:
{
"default": {
"timelineData": [{
"time": "1359676800",
"formattedTime": "Feb 1, 2013",
"formattedAxisTime": "Feb 1, 2013",
"value": [51],
"hasData": [true],
"formattedValue": ["51"]
}, {
"time": "1359763200",
"formattedTime": "Feb 2, 2013",
"formattedAxisTime": "Feb 2, 2013",
"value": [53],
"hasData": [true],
"formattedValue": ["53"]
}, {
"time": "1359849600",
"formattedTime": "Feb 3, 2013",
"formattedAxisTime": "Feb 3, 2013",
"value": [53],
"hasData": [true],
"formattedValue": ["53"]
}],
"averages": []
}
}
这就是我调用数据的方式:
console.log(results.default.timelineData[0].time);
我不知道我做错了什么。也许我错误地解释了这个 JSON 对象?任何帮助,将不胜感激。
最佳答案
观察:
结果
看起来像一个数组
而不是对象
。
演示
var results = [{
"default": {
"timelineData": [{
"time": "1359676800",
"formattedTime": "Feb 1, 2013",
"formattedAxisTime": "Feb 1, 2013",
"value": [51],
"hasData": [true],
"formattedValue": ["51"]
}, {
"time": "1359763200",
"formattedTime": "Feb 2, 2013",
"formattedAxisTime": "Feb 2, 2013",
"value": [53],
"hasData": [true],
"formattedValue": ["53"]
}, {
"time": "1359849600",
"formattedTime": "Feb 3, 2013",
"formattedAxisTime": "Feb 3, 2013",
"value": [53],
"hasData": [true],
"formattedValue": ["53"]
}],
"averages": []
}
}];
console.log(results.default.timelineData[0].time);
因此,要访问时间
,您应该像这样使用:
var results = [{
"default": {
"timelineData": [{
"time": "1359676800",
"formattedTime": "Feb 1, 2013",
"formattedAxisTime": "Feb 1, 2013",
"value": [51],
"hasData": [true],
"formattedValue": ["51"]
}, {
"time": "1359763200",
"formattedTime": "Feb 2, 2013",
"formattedAxisTime": "Feb 2, 2013",
"value": [53],
"hasData": [true],
"formattedValue": ["53"]
}, {
"time": "1359849600",
"formattedTime": "Feb 3, 2013",
"formattedAxisTime": "Feb 3, 2013",
"value": [53],
"hasData": [true],
"formattedValue": ["53"]
}],
"averages": []
}
}];
console.log(results[0].default.timelineData[0].time);
关于javascript - 无法读取 JSON - 无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49835965/