`const express = require("express");
const https = require("https");
const app = express();
app.get("/", function (req, res) {
const url = "https://api.openweathermap.org/data/2.5/forecast? q=delhi&appid=0e9bd132a69ddc33c030e2bda11ac71f&units=metric";
https.get(url, function (response) {
console.log(response.statusCode);
response.on("data", function(data){
const weatherData = JSON.parse(data);
console.log(weatherData);
const Temp = weatherData.main.temp;
console.log(Temp);
});
});
res.send("server is up");
});
app.listen(3000, function () {
console.log("server is running");
});`
我正在使用开放的天气API,并试图在主对象中记录温度iam得到错误:-
const Temp = weatherData.main.temp;
^
TypeError: Cannot read property 'temp' of undefined
还有为什么栈溢出会使提问变得如此困难
2条答案
按热度按时间kgsdhlau1#
我认为查询返回的JSON与您预期的不同,它似乎返回了一个包含不同时间的温度列表的对象,而不仅仅是一个“temp”。我建议您下载一个JSON浏览器扩展并查看浏览器中的JSON:https://api.openweathermap.org/data/2.5/forecast?q=delhi&appid=0e9bd132a69ddc33c030e2bda11ac71f&units=metric
42fyovps2#
这就是我所做的
存储列表数组的是变量tempList,使用[tempList.length -1]获取列表的最后一个元素