Я пытаюсь получить временную переменную из следующего 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/>";
}
Я ничего не получаю. Нет ошибок или значений.
Разница заключается в типе данных, которые вы просматриваете. weather
это массив. Вот почему вы используете for
цикл, чтобы пройти через каждый элемент в массиве.
main
это просто объект. Нечего перебирать. Это даже не имеет length
имущество.
Так что для доступа main
, забудь for
цикл в целом. Просто получите к нему доступ напрямую.
value += result.main.temp + "<br />";
Других решений пока нет …