我正在开发一个应用程序,我从OpenWeatherMaps API获取天气信息,然后使用FlotJS将其绘制在图表上。
数据来自:
http://api.openweathermap.org/data/2.5/forecast?lat=39.77476949&lon=-100.1953125
lat,lon是动态生成的。您可以转到该链接以了解发回的JSON响应类型。
我首先尝试构造数组,以便将它们传递给数据对象,同时绘制图形,如下所示:
var temp = [];
var humidity = [];
var rain = [];
$.each(response.list, function(i, item){
if(moment(item.dt, 'X').isSame(moment(), 'day')){
temp.push([moment(item.dt, 'X').valueOf(), parseFloat(item.main.temp)]);
humidity.push([moment(item.dt, 'X').valueOf(), parseFloat(item.main.humidity)]);
rain.push([moment(item.dt, 'X').valueOf(), parseFloat(item.rain.3h)]);
}
});
temp
和humidity
工作正常。我不能加沉淀。降水值位于rain
中的3h
对象中,当我尝试将其推入数组时,我收到控制台错误消息:
SyntaxError:标识符在数字文字
之后立即开始
如何解决这个问题?
答案 0 :(得分:1)
3h
不是有效符号,它是一个数字文字后跟一个“h”;解析器热潮。
您需要item.rain['3h']
。