使用此URL中的JSON(存储的气象站数据):https://dataproxy.mtcc.ie/v1.5/api/fs/weather_polygons
如何获取“N25 Midleton Bypass”电台的数据?
我可以处理网址,只知道如何回显数据?
我的编码是:
$json_string = 'https://dataproxy.mtcc.ie/v1.5/api/fs/weather_polygons';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata, true);
var_dump($obj);
我期望获得的Json数据是这样的:
["wind_speed"]=>
float(0.9)
["name"]=>
string(19) "N25 Midleton Bypass"
["air_temperature_legend"]=>
string(7) "14 - 16"
["maximum_wind_speed"]=>
float(2.6)
.........
我需要将“0.9”,“14 - 16”,“2.6”保存到我的天气数据库中。谢谢!
答案 0 :(得分:1)
您需要循环访问数据以获取您的电台,然后突破循环。或者,如果您想要所有工作站的属性,可以在循环中使用$属性
foreach($obj['features'] as $feature) {
if ($feature['properties']['name'] == 'N25 Midleton Bypass') {
$properties = $feature['properties'];
break;
}
}
echo $properties['wind_speed'];
echo $properties['name'];
echo $properties['air_temperature_legend'];
echo $properties['maximum_wind_speed'];
答案 1 :(得分:0)
刚知道如何回复数据?
正如var_dump
函数告诉您的那样,您只需访问其字段即可访问您的数据,如下所示:
// echo wind_speed
echo $obj->wind_speed;
// echo name
echo $obj->name
// echo air_temperature_legend
echo $obj->air_temperature_legend;
// echo maximum_wind_speed
echo $obj->maximum_wind_speed;
在最近的一些PHP构建中,您甚至可以像关联数组一样使用它,键是对象的字段,只需简单地转换对象:
$arr = (array)$obj;
echo $arr['wind_speed'];
echo $arr['name'];
如何才能从" name = N25 Midleton Bypass"
获取这些数据
foreach ($objects as $obj) {
if ($obj->name == 'N25 Midleton Bypass') {
echo $obj->wind_speed;
echo $obj->name
echo $obj->air_temperature_legend;
echo $obj->maximum_wind_speed;
}
}
您甚至可以进一步设计一个函数,该函数接受您要作为参数过滤的名称:
function printStationInfo($objects, $station) {
foreach ($objects as $obj) {
if ($obj->name == $station) {
echo $obj->wind_speed;
echo $obj->name
echo $obj->air_temperature_legend;
echo $obj->maximum_wind_speed;
}
}
}
并像这样使用它:
printStationInfo($objects, 'N25 Midleton Bypass');