json的API出口数据必须是utf-8编码,处理程序页也建议是utf-8编码,否则执行页容易为空白页。
解析 JSON 数据并且显示在页面中,第一步肯定要先得到 JSON 接口文件的内容。在 PHP 中获取一个页面的内容,可以使用 fopen() 函数远程页面然后使用fread() 函数循环获取内容。
假设接口地址:http://www.fyw28.com/api/zatan/
json_sample.php的完整代码如下:
<?php
header('Content-Type: text/html; charset=utf-8');//指定编码
$handle = fopen("http://www.fyw28.com/api/zatan/","rb"); //rb表示读取二进制文件
$content = "";
while (!feof($handle)) { //feof() 函数检测是否已到达文件末尾
$content .= fread($handle, 10000); //fread() 从文件里 读取最多 xx 个字节
}
fclose($handle);
$content = json_decode($content); //json_decode表示对JSON 格式的字符串进行解码
foreach ($content->data as $key) { //data 对应 json 里 data 参数
echo '<li><a target="_blank" href="'.$key->b_url.'">'.$key->b_title.'</a> '.$key->b_date.'</li>';
}
?>
php需要先打开这数据文件,然后把所有内容保存到 content 变量中,因为 api 数据不会超过 10000个字符,所以用 10000 作为 fread 函数的第二个参数。这样,api 返回的 JSON 数据就保存在了 content 变量中。
取得 content 值后,就需要对其 JSON 数据处理,然后变成 PHP 可以调用的数据,再使用 foreach 遍历输出循环内容,按照我需要的 HTML 格式,将内容插入进去即可。
© 版权声明
THE END
暂无评论内容