2015-08-22 3 views
0

Я разрабатываю приложение для погоды, и у меня возникают проблемы с возвратом 3-дневного объекта данных прогноза. После моего разбора он продолжает возвращаться не определен.Погода Подземный прогноз на 3 дня Ответ JSON возвращается undefined

Я дошел до того, что узнал, что он возвращает массив, но я все еще зависаю при доступе к объектам в этом массиве.

Все остальные мои звонки работают нормально, это в этом фрагменте, что у меня проблемы:

var forecast = parsed_json['forecast']['txt_forecast']['forecastday']; 

for (index in forecast) { 
    console.log('Weather forecast for ' + forecast[index]['title'] + 
     ' is ' + forecast[index]['fcttext_metric']); 
} 

Официальные документы: http://www.wunderground.com/weather/api/d/docs

+0

не используйте 'для ... в' на массиве - попробуйте' console.log (индекс) 'в' для ... в 'loop, чтобы понять, почему (вы, скорее всего, не увидите ничего плохого, но если вы это сделаете, у вас будет ответ на вашу проблему) –

+0

Возвращает ли он' undefined' или Array? – reergymerej

+1

также предпочтительнее использовать 'var прогноз = parsed_json.forecast.txt_forecast.forecastday;' и 'прогноз [index] .title' и т. Д., Хотя это не имеет ничего общего с вашей проблемой. –

ответ

0

Глядя на the fiddle you posted ваш запрос URL делает НЕ включают прогноз - следовательно, не ожидается никаких прогнозов

url : "http://api.wunderground.com/api/.../geolookup/conditions/q/US/" + postCode +".json" 

что если вы использовали

url : "http://api.wunderground.com/api/.../geolookup/conditions/forecast/q/US/" + postCode +".json" 

Я тестировал выше, и он работает

+0

Да! Вы правы, это разрешило «неопределенный» ответ. Мой ответ вернулся: Object {response: Object, location: Object, current_observation: Object, forecast: Object} weatherScript.js: 82 0 weatherScript.js: 82 1 weatherScript.js: 82 2 weatherScript.js: 82 3 weatherScript.js: 82 4 weatherScript.js: 82 5 weatherScript.js: 82 6 weatherScript.js: 82 7 Спасибо! @jaromandaX – theGrizz

Смежные вопросы