Помогите с некоторыми данными JSON и PHP - PullRequest
0 голосов
/ 29 июня 2011

Мне просто нужно немного помочь с json и php. Как отобразить определенные части данных, если мой запрос возвращается в следующем виде:

{ "data": { "current_condition": [ {"cloudcover": "2", "humidity": "54", "observation_time": "09:05 PM", "precipMM": "0.0", "pressure": "1019", "temp_C": "11", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "winddir16Point": "N", "winddirDegree": "350", "windspeedKmph": "15", "windspeedMiles": "9" } ],  "request": [ {"query": "48.85,2.35", "type": "LatLon" } ] }}

Я использую API погоды, мой код в настоящее время выглядит так:

$weather_url = file_get_contents("http://free.worldweatheronline.com/feed/weather.ashx?q=xxxxx&format=json&num_of_days=2&key=xxxxxxxxxxxxxxxxxx");
$json_output_w = json_decode($weather_url, true);

q в строке url может быть почтовым индексом, широтой и долготой или городом, я знаю, что он возвращает данные, потому что я могу вывести переменную $ json_output_w; но мне просто нужно небольшое руководство о том, как на самом деле повторить определенные части данных, которые возвращаются. как сказать, что я хотел эхо windspeedMiles

1 Ответ

3 голосов
/ 29 июня 2011

Функция json_decode() возвращает либо объект, либо массив (в зависимости от второго аргумента). Вы можете изучить структуру возвращаемого элемента, используя функцию var_dump():

var_dump( $json_output_w );

Отсюда вы узнаете, какой тип структуры вы должны учитывать при извлечении значений. Чтобы получить значение windSpeedMiles, вам нужно сделать следующее:

echo $json_output_w["data"]["current_condition"][0]["windspeedMiles"];

Онлайн-демонстрация: http://codepad.org/BfhHbQMz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...