使用 PHP 获取并解析 JSON 显示在页面中

很久没写过 PHP 的文章了,也很久没有用 PHP 了,差点忘了怎么做了。JSON 是现在比较流行的数据交流方式,比 XML 都流行,一般用作 api 接口进行数据获取、交流。
就文章的标题来说,本文介绍两个小要点:PHP 获取内容、PHP 解析 JSON 并显示。
PHP 获取接口内容
你如果想解析 JSON 数据并且显示在页面中,第一步肯定要先得到 JSON 接口文件的内容。在 PHP 中获取一个页面的内容,可以使用 fopen() 函数远程页面然后使用 fread() 函数循环获取内容。
假设接口文件页面为: http://www.qttc.net/api.php?action=open_getBlogList&only_recommend=1&limit=5 ,那么我们可以使用下面语句获取这个接口文件内容:
$handle = fopen(" http://www.qttc.net/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb");
$content = "";
while (!feof($handle)) {
    $content .= fread($handle, 10000);
}
fclose($handle);
这样 content 保存的就是 JSON api 内容。
PHP 解析 JSON 并显示
原始的内容是无法直接调用的,必须被 PHP 进行进一步处理,才能被调用显示在网页中。在 PHP 5.2 及后续版本中,使用 json_decode() 函数来解析 JSON 数据,将其转换成 PHP 可以调用的数据格式。例如:
$content = json_decode($content);
解析之后呢,我们就可以按照 PHP 中调用数组数据的方法一样的调用 JSON 中的数据。这个调用方法需要按照具体的 JSON 数据格式来写,演示请看下面。关于 json_decode 函数的使用,具体看 PHP 手册,这里不再赘述: http://php.net/manual/en/function.json-decode.php
实战调用琼台博客的 api
细心的朋友会发现 潜行者m 博客的边栏最下面多了一个“友文推荐”模块,里面推荐了一些琼台博客的文章。

友文推荐是琼台博客倡议的一种博客之间交流方式,比传统的友情链接更有效,同时实现了博客内容互补。由于琼台博客的博客程序是他自己本人编写的,所以他提供了 JSON api 接口,可以获取到最新的可推荐的文章。
本人使用 PHP 获取这个 JSON 接口,然后输出到自己博客的边栏中,下面来实战操作一下。
第一步,查看 api 调用方式
调用之前,你肯定要看一下对方的 api 调用手册,包括调用地址、如何调用、数据输出格式等等。琼台博客的 api 说明地址如下: http://www.qttc.net/openapi.html
根据文档,我使用了 http://www.qttc.net/api.php?action=open_getBlogList&only_recommend=1&limit=5 这样的参数,意思就是调用五条他推荐的文章。
第二步,获取 api 结构数据
很简单,上面说过了,具体代码如下:
$handle = fopen(" http://www.qttc.net/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb");
$content = "";
while (!feof($handle)) {
    $content .= fread($handle, 10000);
}
fclose($handle);
先打开这数据文件,然后把所有内容保存到 content 变量中,因为可以肯定 api 数据不会超过 10000个字符,所以用 10000 作为 fread 函数的第二个参数。这样,api 返回的 JSON 数据就保存在了 content 变量中。
第三步,解析并输出内容
使用下面代码解析数据,然后调用输出
$content = json_decode($content);
foreach ($content->data as $key) {
    echo '<li><a target="_blank" href="'.$key->b_url.'">'.$key->b_title.'</a></li>';
}
首先对 content 变量中的 JSON  数据处理,然后变成 PHP 可以调用的数据,再使用 foreach 遍历输出这五条内容,按照我需要的 HTML 格式,将内容插入进去即可。
再加上样式修饰,这样就完成了 获取并解析 JSON 显示在页面中了。调用其它 api 数据的方法大同小异。

原文链接: http://www.qianxingzhem.com/post-1904.html
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在PHP爬取指定网页的JSON数据,可以使用以下步骤: 1. 首先,你需要使用`file_get_contents`函数来获取网页的内容。这个函数可以接受一个URL参数,用于指定要获取的网页。你可以像这样调用该函数:`$response = file_get_contents($url);` 2. 接下来,你需要检查是否成功获取了网页内容。你可以使用条件语句来判断`$response`的值是否为`false`,如果是,则表示获取失败。否则,表示获取成功。你可以像这样检查:`if ($response !== false) { // 获取成功 } else { // 获取失败 }`。 3. 如果获取成功,你可以使用`json_decode`函数来解析JSON数据。你可以将`$response`作为参数传递给`json_decode`函数,然后将解析后的结果保存在一个变量。例如:`$data = json_decode($response);` 4. 最后,你可以根据需要使用解析后的JSON数据进行后续操作。你可以访问`$data`的各个属性和值,进行数据提取或其他处理。 需要注意的是,爬取网页数据可能涉及到访问权限和服务器限制。请确保你的爬虫行为符合法律和网站的规定,并尊重网站的隐私政策和使用条款。 总结: 1. 使用`file_get_contents`函数获取网页内容,将结果保存在`$response`变量。 2. 检查`$response`是否为`false`,以确定是否成功获取网页内容。 3. 使用`json_decode`函数解析JSON数据,将结果保存在一个变量。 4. 根据需要使用解析后的JSON数据进行后续操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用PHP从网页获取JSON数据](https://blog.csdn.net/weixin_29011667/article/details/115116072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值