Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript OpenWeatherMap API:未捕获类型错误-无法读取属性';临时工';未定义的(…)_Javascript_Jquery_Json - Fatal编程技术网

Javascript OpenWeatherMap API:未捕获类型错误-无法读取属性';临时工';未定义的(…)

Javascript OpenWeatherMap API:未捕获类型错误-无法读取属性';临时工';未定义的(…),javascript,jquery,json,Javascript,Jquery,Json,这里的新手,我正在尝试从OpenWeatherMapAPI访问FreeCodeCamp项目的温度。但我的问题是,每当我尝试使用嵌套的JSON对象访问温度值时,控制台都会提示“temp”的父对象未定义。为什么它没有定义 这是给我带来问题的代码: $.getJSON(url、函数(数据){ console.log(“成功请求”); 控制台日志(数据主温度); console.log(“成功访问温度”); }); 当我运行此命令时,控制台会记录“successful request”,然后给出错误信

这里的新手,我正在尝试从OpenWeatherMapAPI访问FreeCodeCamp项目的温度。但我的问题是,每当我尝试使用嵌套的JSON对象访问温度值时,控制台都会提示“temp”的父对象未定义。为什么它没有定义

这是给我带来问题的代码:

$.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

请编辑您的问题,以便包含一个。