Node JS为API调用返回undefined

时间:2016-04-11 18:54:33

标签: javascript openweathermap

我正在使用开放天气API,对于风速,它返回未定义但其他两个(时间和温度)工作正常。

var request = require('request');
var yargs = require('yargs');
var fs = require ('fs');
var forecasts = require('./forecast.json');
var args = yargs.argv;

var url = 'http://api.openweathermap.org/data/2.5/forecast?q=erie,pa&APPID=a0472e6063198c88952f86f836355ae1&units=imperial';

request({url: url, json: true},function(error,response,body){
var time = 0;
body.list.forEach(function(measurement){
    var forecast = {Wind_Speed: measurement.main.wind, time: time, temp: measurement.main.temp};

    forecasts.push(forecast);
    time = time + 3

    console.log(forecast)
})
fs.writeFile('forecast.json',JSON.stringify(forecasts))
})

1 个答案:

答案 0 :(得分:0)

我刚检查了API,看起来风不在主要对象下,您应该直接从测量中获取它:

var forecast = {
   Wind_Speed: measurement.wind.speed, 
   time: time, 
   temp: measurement.main.temp
};

格式化的API响应:

enter image description here