Php 如何从URL获取JSON格式的数据

Php 如何从URL获取JSON格式的数据,php,json,Php,Json,使用此URL中的JSON(存储的气象站数据): 如何获取“N25 Midleton旁路”站的数据 我可以处理URL,只是知道如何回显数据 我的编码是: $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($o

使用此URL中的JSON(存储的气象站数据):

如何获取“N25 Midleton旁路”站的数据

我可以处理URL,只是知道如何回显数据

我的编码是:

  $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”保存到我的天气数据库中。谢谢

就在下面知道如何回显数据吗?

正如
var\u 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;
printStationInfo($objects, 'N25 Midleton Bypass');
在最近的一些PHP构建中,您甚至可以像使用关联数组一样使用它,键是对象的字段,只需简单地强制转换对象:

$arr = (array)$obj;
echo $arr['wind_speed'];
echo $arr['name'];
如何仅从“name=N25 Midleton旁路”获取这些数据

您甚至可以进一步设计一个函数,该函数接受要筛选的名称作为参数:

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;
        }
    }
}
然后像这样使用它:

// 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;
printStationInfo($objects, 'N25 Midleton Bypass');

您需要循环数据以获得站点,然后中断循环。或者,如果需要所有桩号的属性,可以在循环中使用$properties

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'];

如果你所拥有的数组高于你调用
var\u dump($obj)
时得到的数组?嗨,这里有许多站点,它们都有一些对象“风速”和“气温图例”等。如何仅从“name=N25 Midleton旁路”获取这些数据,如果你愿意,你可以查看url:)