使用json獲取天氣信息方法


資料:如何解決跨域訪問數據問題

天氣接口:http://t.weather.sojson.com/api/weather/city/101240301  (后面的數字改成其他Citycode的值就可以得到其他城市的天氣json)

Citycode:https://www.cnblogs.com/shangrao/p/12862269.html

獲取json數據:https://www.cnblogs.com/shangrao/p/12861904.html

 

以上資料搞定,就可以開始獲取我們的接口的天氣信息了

對於我們這個小白來說,動態的獲取天氣信息,可以進行三步走。

一、解決跨域訪問數據問題

二、.獲取天氣json。不要被這么多數據嚇到,剛開始我們可以把這些數據放到自己項目里,整理代碼格式,這樣我們就清晰了。

 

 

 

 

 

 格式化之后,發現是這樣的一個結構 獲取json文件的值方法,可以看上面的鏈接

HTML頁面

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <p>當前城市:<span></span></p>
        <p>今天溫度:<span></span></p>
        <p>明天溫度:<span></span></p>
        <p>PM2.5:<span></span></p>
        <script type="text/javascript">
            function tq(datas){
                // 使用js方法在span輸入天氣信息。參數datas是json對象。
                document.getElementsByTagName("span")[0].innerHTML=datas.cityInfo.city;
                document.getElementsByTagName("span")[1].innerHTML=datas.data.wendu+"°C";
                document.getElementsByTagName("span")[2].innerHTML=datas.data.forecast[0].low+"~"+datas.data.forecast[0].high;
                document.getElementsByTagName("span")[3].innerHTML=datas.data.wendu;
            }
        </script>
        <script src="bb.php?_jsonp=tq" type="text/javascript" charset="utf-8"></script>
        
    </body>
</html>

bb.php頁面

<?php 
$callback = $_GET['_jsonp'];//得到函數名稱(tq)

$json = file_get_contents('http://t.weather.sojson.com/api/weather/city/101240301');//PHP獲得文本方法
$arr=json_decode($json, true); //json字符道串轉換成關聯數組

echo $callback."(".json_encode($arr).")";//json_encode($arr)將數組轉化成json格式。調用回調函數(tq)

 ?>

以上是寫了固定的 城市編碼 101240301 上饒市的值

運行結果

 

 

三、動態的顯示出某個城市的天氣

........

先暫時不寫了,吃飯去了,下次想到就去寫吧

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM