Я работаю с API из подземной погоды. Я пытаюсь добавить некоторые значения в свой сайт на localhost. Я включаю много значений без проблем. Как:Easy-Json и PHP-декодирование
Температура: 30 ° F
Ветер: Быстрый
Вот JSON из этих значений:
"current_observation": {
"image": {
"url":"http://icons-ak.wxug.com/graphics/wu2/logo_130x80.png",
"title":"Weather Underground",
"link":"http://www.wunderground.com"
},
"display_location": {
"full":"Buenos Aires, Argentina",
"city":"Buenos Aires",
"state":"",
"state_name":"Argentina",
"country":"AG",
"country_iso3166":"AR",
"zip":"00000",
"magic":"1",
"wmo":"87582",
"latitude":"-34.56999969",
"longitude":"-58.41999817",
"elevation":"6.00000000"
},
"observation_location": {
"full":"Palermo, Buenos Aires, Ciudad Autónoma de Buenos Aires",
"city":"Palermo, Buenos Aires",
"state":"Ciudad Autónoma de Buenos Aires",
"country":"Argentina",
"country_iso3166":"AR",
"latitude":"-34.595318",
"longitude":"-58.419781",
"elevation":"124 ft"
},
"estimated": {
},
"station_id":"IBUENOSA157",
"observation_time":"Last Updated on April 26, 7:52 PM ART",
"observation_time_rfc822":"Sat, 26 Apr 2014 19:52:51 -0300",
"observation_epoch":"1398552771",
"local_time_rfc822":"Sat, 26 Apr 2014 19:52:52 -0300",
"local_epoch":"1398552772",
"local_tz_short":"ART",
"local_tz_long":"America/Buenos_Aires",
"local_tz_offset":"-0300",
"weather":"Clear",
"temperature_string":"65.8 F (18.8 C)",
"temp_f":65.8,
"temp_c":18.8,
"relative_humidity":"63%",
и в индексе php file:
<?php
$json_string = file_get_contents("http://api.wunderground.com/api/f84c5a4cd54b3216/geolookup/alerts/astronomy/almanac/conditions/forecast/hourly/q/autoip.json");
$parsed_json = json_decode($json_string);
$temp_c = $parsed_json->{'current_observation'}->{'temp_c'};
echo "{$'temp_c'};
Это отображает температуру. Температура в коде json находится в: Current_observation
, а затем значение temp_c
.
Проблема в том, что я хочу отразить прогноз, а прогноз находится в другом месте, чем temp_c
.
Например. Я хочу повторить текущие условия, то есть здесь:
Проблема заключается в том, что находится в:
{'forecast'}->{'simpleforecast'}->{'forecastday'}
, а затем есть ноль для текущего дня, 1 для следующего день, 2 на следующий день и 3 на следующий день.
Когда я пытаюсь сделать это в PHP:
{'forecast'}->{'simpleforecast'}->{'forecastday'}->{'0'}->{'conditions'};
Он не показывает ничего. Как я могу перейти в значение json, когда в массиве есть 0?
PD: для 0, есть одно условие, для 1 (то есть на следующий день) есть другое условие, и тому подобное в другой день. Благодаря
Итак, как вы хранить этот прогноз данные? Это еще переменная? Без кода «Это ничего не показывает» не очень полезно. – esqew
проблема в том, что я не могу получить данные. Например, я делаю: $ прогнозcondition = $ parsed_json -> {'прогноз'} -> {'simpleforecast'} -> {'forecastday'} -> {'0'} -> {'conditions'}; и ничего – user254908
из кода, который вы только что указали в своем комментарии, мне кажется, что вы используете одну и ту же переменную, и я не могу не думать, что вы пытаетесь получить доступ к тем же данным JSON. Если это, по сути, то же самое, что вы разместили выше в своем вопросе, нет доступа к объекту «simpleforecast». Покажите нам, как вы получаете доступ к ** новой ** информации JSON. – esqew