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

无法读取JSON属性:TypeError: Cannot read property 'timelineData' of undefined

解决TypeError: Cannot read property 'timelineData' of undefined问题

哈哈,这个报错我太熟悉了!你这是踩了JavaScript里访问对象属性的经典坑——你试图读取timelineData的时候,它的上层对象(也就是JSON里的default对应的对象)是undefined,咱们一步步来解决:

先搞懂报错原因

报错TypeError: Cannot read property 'timelineData' of undefined翻译成大白话就是:你想读某个东西的timelineData属性,但这个“某个东西”根本不存在(是undefined)。对应你的JSON结构来说,就是你访问xxx.timelineData时,xxx不是你预期的那个包含timelineData的default对象。

一步步排查解决

1. 确认JSON已经被正确解析成JavaScript对象

如果你的JSON是从文件、网络请求或者其他地方获取的字符串,必须先把它转换成JS对象才能访问属性。举两个常见场景的正确写法:

浏览器端网络请求获取JSON

// 错误示例:直接用response,没解析成对象
fetch('your-data.json')
  .then(res => res) // 这里拿到的是Response对象,不是JSON对象
  .then(data => console.log(data.default.timelineData)) // 必报错

// 正确做法:用res.json()解析
fetch('your-data.json')
  .then(res => res.json()) // 把响应转换成JS对象
  .then(data => console.log(data.default.timelineData)) // 现在能正确访问了

Node.js读取本地JSON文件

const fs = require('fs');
fs.readFile('your-data.json', 'utf8', (err, rawData) => {
  if (err) {
    console.error('读取文件出错:', err);
    return;
  }
  const jsonObj = JSON.parse(rawData); // 把JSON字符串转成JS对象
  console.log(jsonObj.default.timelineData); // 正确访问路径
});

2. 检查你的访问路径是否完全正确

你的JSON结构是外层有个default属性,里面才是timelineData数组,所以正确的访问路径是:

// 正确路径
jsonObj.default.timelineData

// 错误路径(很多人会漏写default)
jsonObj.timelineData // 这肯定会报错,因为外层根本没有timelineData属性

3. 给代码加个“安全防护”(可选但推荐)

如果不确定数据是否加载完成或者结构是否正确,可以用**可选链操作符(?.)**来避免报错,同时快速排查问题:

// 如果default或timelineData不存在,会返回undefined而不是抛错
console.log(data?.default?.timelineData);

如果你需要兼容老版本浏览器/Node.js,也可以用传统的判断方式:

if (data && data.default && data.default.timelineData) {
  console.log(data.default.timelineData);
} else {
  console.log('数据未加载或路径错误');
}

4. 确认你的JSON文件本身是完整合法的

你贴的JSON内容最后是"formattedAxisTime": "Feb 2,...",看起来是被截断了。要确保整个JSON没有语法错误——可以直接在浏览器控制台里执行JSON.parse('你的完整JSON字符串'),如果报错,说明JSON本身有问题,得先修复JSON的格式错误。

最后总结

核心问题就是:要么JSON没被正确解析成JS对象,要么你访问属性的路径错了,要么JSON本身不完整。按上面的步骤排查,应该很快就能解决!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:49:57