dongsonghen9931 2015-05-06 00:50
浏览 47
已采纳

Json解码并在php中显示

So i've got a list with local weather details, http://api.openweathermap.org/data/2.5/weather?q=Schimmert,nl. And I want to display some of that in formation via php on my site, but can't really find out how JSON is something completely new for me.

And the only thing i managed to do right now is this: http://jeroenonline.biz/JSON/index.php. So this is a simple script:

$getData = file_get_contents( "http://api.openweathermap.org/data/2.5/weather?q=Schimmert,nl");
 
$decode = json_decode($getData);
 
echo "<pre>";
print_r($decode);

</div>
  • 写回答

3条回答 默认 最新

  • douzai8285 2015-05-06 01:10
    关注

    using the link

    http://api.openweathermap.org/data/2.5/weather?q=Schimmert,nl

    without the "." gives me a response

    {
        "message": "Error: Not found city",
        "cod": "404"
    }
    
    <?php
    
    $getData = file_get_contents( "http://api.openweathermap.org/data/2.5/weather?q=Schimmert,nl");
    
    $decode = json_decode($getData);
    
    // accessing it through object
    echo $decode->message;
    echo "<br/>";
    echo $decode->cod;
    
    // accessit via array
    // set true the second parameter or the json_decode($encoded_data, TRUE)
    // to give you array
    $decode = json_decode($getData, TRUE);
    
    echo "<br/>";
    echo $decode['message'];
    echo "<br/>";
    echo $decode['cod'];
    

    so when use the link with the "."

    http://api.openweathermap.org/data/2.5/weather?q=Schimmert,nl.

    gives a response of :

    {
        "coord": {
            "lon": 5.83,
            "lat": 50.91
        },
        "sys": {
            "message": 0.0287,
            "country": "Netherlands",
            "sunrise": 1430884846,
            "sunset": 1430939149
        },
        "weather": [
            {
                "id": 800,
                "main": "Clear",
                "description": "Sky is Clear",
                "icon": "01n"
            }
        ],
        "base": "stations",
        "main": {
            "temp": 284.923,
            "temp_min": 284.923,
            "temp_max": 284.923,
            "pressure": 1012.18,
            "sea_level": 1023.56,
            "grnd_level": 1012.18,
            "humidity": 67
        },
        "wind": {
            "speed": 6.06,
            "deg": 219.002
        },
        "clouds": {
            "all": 0
        },
        "dt": 1430875602,
        "id": 0,
        "name": "Nuth",
        "cod": 200
    }
    

    to show the the result

    // sample to access coord
    echo $decode->coord->lon;
    echo $decode->coord->lat;
    
    // sample to access sys
    echo $decode->sys->message;
    echo $decode->sys->country;
    
    // sample to access weather
    echo $decode->weather[0]->id;
    echo $decode->weather[0]->main;
    echo $decode->weather[0]->description;
    
    // sample to access main
    echo $decode->main->temp;
    echo $decode->main->temp_min;
    
    
    // sample to access wind
    echo $decode->wind->speed;
    
    // sample to access clouds
    echo $decode->clouds->all;
    
    echo $decode->id;
    echo $decode->name;
    echo $decode->cod;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了