Javascript OpenWeatherMap API:未捕获类型错误-无法读取属性';临时工';未定义的(…)
这里的新手,我正在尝试从OpenWeatherMapAPI访问FreeCodeCamp项目的温度。但我的问题是,每当我尝试使用嵌套的JSON对象访问温度值时,控制台都会提示“temp”的父对象未定义。为什么它没有定义 这是给我带来问题的代码:Javascript OpenWeatherMap API:未捕获类型错误-无法读取属性';临时工';未定义的(…),javascript,jquery,json,Javascript,Jquery,Json,这里的新手,我正在尝试从OpenWeatherMapAPI访问FreeCodeCamp项目的温度。但我的问题是,每当我尝试使用嵌套的JSON对象访问温度值时,控制台都会提示“temp”的父对象未定义。为什么它没有定义 这是给我带来问题的代码: $.getJSON(url、函数(数据){ console.log(“成功请求”); 控制台日志(数据主温度); console.log(“成功访问温度”); }); 当我运行此命令时,控制台会记录“successful request”,然后给出错误信
$.getJSON(url、函数(数据){
console.log(“成功请求”);
控制台日志(数据主温度);
console.log(“成功访问温度”);
});
当我运行此命令时,控制台会记录“successful request”,然后给出错误信息:
未捕获的TypeError-无法读取未定义(…)的属性“temp”
我尝试过的事情:我查看了示例代码并参考了API文档,看到了数据。main.temp
是访问温度的有效方法。我验证了数据
对象是否已被解析,并确保它未包含在数组中。另外,我已经验证了url。以下是URL的开头部分:
在铬上工作。到Codepen项目。天气数据以字符串形式返回。您需要将其解析为JSON,如下所示:
$.getJSON(url, function(data) {
var weatherData = JSON.parse(data.content);
console.log("successful request");
console.log(weatherData.main.temp);
console.log("successful temperature access");
});
明白了!我下载了一个chrome扩展JSON格式化程序,它允许我看到main实际上是
列表
下的一个元素。正确的调用是data.list[0]。main.temp
请编辑您的问题,以便包含一个。