来自URL的PHP​​ JSON值

时间:2017-01-30 11:47:15

标签: php json api

我正在使用OpenWeather API。我将其保存在$jsonobj,但不知道如何访问天气详细信息。我不知道[]{}的不同之处以及它们的实际含义。

我的代码在这里:

<?php
    $name_of_city = "mathura";
    $request = 'http://api.openweathermap.org/data/2.5/weather?APPID=my_key&q='.$name_of_city;
    $response  = file_get_contents($request);
    $jsonobj  = json_decode($response,true);
    print_r($jsonobj);
?>

enter image description here

2 个答案:

答案 0 :(得分:0)

[]表示数组,{}表示对象,因此在您的示例中,您有一个对象,其中包含一个名为&#39; weather&#39; ,要在json_decode之后访问PHP,你可以这样简单:

foreach($jsonobj->weather as $weather){
    echo "$weather->main : $weather->description";
}

答案 1 :(得分:0)

当你这样做时

json_decode($response,true);

它将json转换为数组,因此您可以像下面一样访问它:

$name_of_city = "mathura";
$request = 'http://api.openweathermap.org/data/2.5/weather?APPID=my_key&q='.$name_of_city;
$response  = file_get_contents($request);
$jsonobj  = json_decode($response,true);
foreach($jsonobj['weather'] as $weather){
    echo $weather['main'] .":". $weather['description'];//Clear:clear sky
}