Согласно документации API, description
- это string
, а не array
. Но у вас также есть погодная клавиша array
.
. Чтобы правильно получить доступ к description
, как вы предполагали, вам нужно сделать следующее:
data.weather[0].description
Не:
data.weather.description[0]
Но обратите внимание, у вас могут возникнуть проблемы, если массив weather
пуст.
Выполнение того, что я рекомендовал выше, решит ваш TypeError
, который вы испытываете.
Если у вас возникли проблемы со значением setText
, равным undefined
. Просто используйте пустую строку как запасной вариант.
Как это:
setText('label4', data.weather[0] ? data.weather[0].description : '')