SyntaxError:在javascript中数字文字错误后立即启动标识符?

时间:2015-06-23 10:36:30

标签: javascript jquery json

我正在开发一个应用程序,我从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)]);
    }
});

temphumidity工作正常。我不能加沉淀。降水值位于rain中的3h对象中,当我尝试将其推入数组时,我收到控制台错误消息:

  

SyntaxError:标识符在数字文字

之后立即开始

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

3h不是有效符号,它是一个数字文字后跟一个“h”;解析器热潮。

您需要item.rain['3h']