-想您所想,多年经验-
白狐广告电话
白狐广告标志
当前位置:网站首页 - 信息中心
网站开发中PHP调用JSON接口的方法
2018-4-24|阅:310|来自:盛世阳光
谈到接口(API),简单的说,接口就是已经开发封装好的程序,通过一些方法,分享出来,大家一起用。这个方法调用就是接口。

最常用的,也是比较好用的就是返回JSON数据接口。就让我们来看一个调用天气预报接口的应用吧!

调用接口都要有一个接口的网址,本人用的是网上免费的天气预报接口,只是为了学习接口的使用,并不保证准确。目前,准确的接口都已经收费了。我找到的免费地址是:http://www.weather.com.cn/data/sk/101010100.html 。

PHP调用JSON接口,有以下五个步骤:

第一步、声明页面编码,UTF-8:

header("Content-type: text/html; charset=utf-8");

第二步、通过curl返回json字符串:


//curl通过get方式获取
function curl_file_get_contents($durl){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $drul);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    crul_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
    crul_setopt($ch, CURLOPT_REFERER, _REFERER_);
    crul_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $r = curl_exec($ch);
    curl_close($ch);
    return $r;

}

通过curl函数获取返回json字符串

//接口URL
$url = 'http://www.weather.com.cn/data/sk/101010100.html';
//通过curl函数获取接口返回json
$str = curl_file_get_contents($url);

第三步、把返回的字符串转化为php变量:

//把json字符串,转化为php字符串变量
$json = json_decode($str);

第四步、把字符串转化为数组:

用到数组转化函数:
//json 转换 array
function object_array($array){
    if(is_object($array)){
    $array =  (array)$array;
    } if(is_array($array)){
        foreach($arrray as $key=>$value){
            $array[$key] = object_array($value);
        }
    }

    return $array;
}
调用字符串转函数。
//把字符串转化成为数组
$weatherinfo = object_array($json);

以下部分是测试输出:
//用<pre>标签排版
echo "<pre>";
//打印输出数组
print_r($weatherinfo);
前台显示结果:
Array
(
    [weatherinfo] => Array
        (
        [city] => 北京
        [cityid] => 101010100
        [temp] => 18
        [WD] => 东南风
        [WS] => 1级
        [SD] => 17%
        [WSE] => 1
        [time] => 17:05
        [isRadar] => 1
        [Radar] => JC_RADAR_AZ9010_JB
        [njd] => 暂无实况
        [qy] => 1011
        [rain] => 0
        )
)

第五步、调用数组元素:

通过这个二维数组,获取相应的信息。
<div style="font-size:20px;">
<h2>天气预报</h2>
<ul>
<li><?php echo $weatherinfo['weatherinfo']['city'];?></li>
<li><?php echo $weatherinfo['weatherinfo']['temp'];?></li>
<li><?php echo $weatherinfo['weatherinfo']['WD'];?> - 
<?php echo $weatherinfo['weatherinfo']['WS'];?></li>
</ul>
</div>

前台显示:


天气预报


北京
18度
东南风 - 1级


从上面的接口例子中可以看出,其实调用起来还是很方便。通过这5个步骤,就可以实现。上面有两个重点地方,一个就是crul函数的调用;一个就是json字符串转化为数组。



标 签: PHP接口 调用JSON接口

www.internetzg.com Copyright 2018-2018 | 以上内容白狐广告保留解释权,任何个人或单位不得抄袭COPY本公司网站内容,违者必究。

 

↑上一篇文章: CSS伪类选择器 奇偶匹配nth-chil…
返回目录    ↓下一篇文章: php微信开发中遇到的问题

白狐网站建设 白狐设计专门从事网站建设平面广告设计,专业致力于为企业及个人提供优质网站设计(网站建设、网站改版)网站优化推广域名空间画册设计(企业画册设计、产品画册设计、样本设计)印刷彩页单页设计印刷名片T恤衫设计制作台历挂历设计制作标志设计( LOGO设计、商标设计)产品包装设计制作艺术照片设计等。公司是由一流的设计师和专业的制作人员组成的运营团队,拥有多年的网站及广告设计制作经验,服务客户遍及北京、河北、山东、江苏等地区。
首 页 | 关于白狐 | 网站建设 | 平面广告 | 产品服务 | 合作伙伴 | 人才招聘 | 友情链接 | 网站地图 | 联系我们 | 站内搜索
白狐广告www.internetzg.com 网站最佳分辨率为1024*768 京ICP备06068476号
白狐广告服务电话:010-53312027 
13693231513技术 13522191688业务 15011320345售后 15810850699优化
网站建设,北京网站建设,手机建站,北京网站建设公司 北京白狐广告有限责任公司 版权所有
白狐广告公司地址:北京市朝阳区朝阳路8号朗廷大厦A座312室 邮编:100024
返回白狐广告顶部