我只需要一些json和php的帮助。如果我的请求返回如下所示,我如何回复数据的certian部分:
{ "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);
url字符串中的q可以是zipcode,lat和long,或者是一个城市,我知道它正在返回数据,因为我可以转储变量$ json_output_w;但我只需要一些指导,如何实际回显返回的数据的某些部分。比如说我想回声
windspeedMiles
答案 0 :(得分:3)
json_decode()
函数将返回一个对象或数组(取决于第二个参数)。您可以使用var_dump()
函数探索返回项目的结构:
var_dump( $json_output_w );
从这里你会发现在拉出价值时你需要考虑什么类型的结构。要获得windSpeedMiles
值,您需要执行以下操作:
echo $json_output_w["data"]["current_condition"][0]["windspeedMiles"];