SyntaxError:标识符在 javascript 中的数字文字错误之后立即开始?

Roh*_*han 1 javascript jquery json

我正在开发一个应用程序,从 OpenWeatherMaps API 获取天气信息,然后使用 FlotJS 将其绘制在图表上。

数据来自:

http://api.openweathermap.org/data/2.5/forecast?lat=39.77476949&lon=-100.1953125

其中纬度、经度是动态生成的。您可以访问该链接以了解发回的 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)]);
    }
});
Run Code Online (Sandbox Code Playgroud)

temp并且humidity工作正常。我无法添加降水量。降水量值位于rain对象中3h,当我尝试将其推入数组时,出现控制台错误:

语法错误:标识符在数字文字之后立即开始

如何解决这个问题?

Dav*_*ton 5

3h不是一个有效的符号,它是一个数字文字,后跟一个“h”;解析器开始繁荣。

你需要item.rain['3h']的是。