JavaScript не может получить температуру из Openweathermap API

Я пытаюсь получить временную переменную из следующего JSON:

"weather": [
{
"id": 500,
"main": "Rain",
"description": "light rain",
"icon": "10n"},
],
"main": {
"temp": 273.15,
"pressure": 992,
"humidity": 97,
"temp_min": 273.15,
"temp_max": 273.15
},

Я могу получить значение погоды, используя JavaScript:

 function print(xxx){
var value = "";
for(var i = 0;i < result.weather.length;i++){
value += result.weather[i].main "<br/>";
}

Если я пытаюсь получить температуру, как это:

function print(xxx){
var value = "";
for(var i = 0;i < result.main.length;i++){
value += result.main[i].temp "<br/>";
}

Я ничего не получаю. Нет ошибок или значений.

0

Решение

Разница заключается в типе данных, которые вы просматриваете. weather это массив. Вот почему вы используете for цикл, чтобы пройти через каждый элемент в массиве.

main это просто объект. Нечего перебирать. Это даже не имеет length имущество.

Так что для доступа main, забудь for цикл в целом. Просто получите к нему доступ напрямую.

value += result.main.temp + "<br />";
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]