当前位置:首页 > 技术知识 > 正文内容

php通过json网址获取数据指定提取某个值并打印显示出来

1个月前 (08-15)技术知识240

php通过json网址获取数据指定提取某个值并打印显示出来,下面举例;

要从JSON网址获取数据并提取models中所有名为hlsPlaylist的值,可以使用cURL来获取网址内容,然后使用json_decode将其转换为PHP数组,再遍历数组提取所需值。以下是一个示例代码:

<?php
// 目标JSON网址
$url = '要获取json的网址';
 
// 初始化cURL会话
$ch = curl_init($url);
 
// 设置cURL选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
// 执行cURL会话
$response = curl_exec($ch);
 
// 关闭cURL会话
curl_close($ch);
 
// 解码JSON数据
$data = json_decode($response, true);
 
// 检查是否有错误发生
if (json_last_error() !== JSON_ERROR_NONE) {
    die('JSON解码失败: ' . json_last_error_msg());
}
 
// 获取models数组中第一个对象的hlsPlaylist值
$hlsPlaylistValue = $data['models'][0]['hlsPlaylist'];
 
// 打印结果
echo $hlsPlaylistValue;
?>

这种方法只能获取到hlsPlaylist的第一个值,使用以下代码可以自定义获取多少个。

<?php
$url = "网址"; // 替换为你的JSON网址
$data = file_get_contents($url); // 获取网址数据
$decodedData = json_decode($data, true); // 解码JSON数据
 
// 假设models是顶级数组中的一个键
$models = $decodedData['models'];
 
// 提取所有hlsPlaylist的值
$hlsPlaylists = array_column($models, 'hlsPlaylist');
 
// 只取前5个值
$firstFiveHlsPlaylists = array_slice($hlsPlaylists, 0, 5);
 
// 打印显示
print_r($firstFiveHlsPlaylists);
?>

上面的hlsPlaylists, 0, 5指的是获取hlsPlaylists从0条到第五条,以此类推。

如果要获取全部的值,可以用下面这个代码;

<?php
// 目标JSON网址
$url = '目标JSON网址';
// 初始化cURL会话
$ch = curl_init($url);
 
// 设置cURL选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
// 执行cURL会话
$response = curl_exec($ch);
 
// 关闭cURL会话
curl_close($ch);
 
// 解码JSON数据
$data = json_decode($response, true);
 
// 检查是否解码成功
if ($data) {
    // 提取所有hlsPlaylist的值
    $hlsPlaylists = array_column($data['models'], 'hlsPlaylist');
    
    // 打印结果
    print_r($hlsPlaylists);
} else {
    echo "JSON解码失败";
}
?>

或者最简单的代码;

<?php
$url = "http://example.com/api/data"; // 替换为实际的JSON网址
$jsonData = file_get_contents($url);
$data = json_decode($jsonData, true);
 
$hlsPlaylists = array_column($data['models'], 'hlsPlaylist');
 
print_r($hlsPlaylists);
?>


扫描二维码推送至手机访问。

版权声明:本文由资源库发布,如需转载请注明出处。

本文链接:http://it.dg5.net/post/23.html

标签: phpjson
分享给朋友:

“php通过json网址获取数据指定提取某个值并打印显示出来” 的相关文章

防止宝塔版面收集信息上传

防止宝塔版面收集信息上传

宝塔面板留后门搜集用户隐私信息,附宝塔上传用户信息紧急修复方案,防止宝塔版面收集信息上传。宝塔收集服务器重要信息并上载到伺服器的代码和操作方式流程,内含收集重要信息的证据。1.搜集服务器上面的域名./class/public.py此处检测域名是否可用,由/class/acme_v2.py(签发 SS...

宝塔计划任务Shell执行命令删除某个文件目录

宝塔计划任务Shell执行命令删除某个文件目录

有一些缓存文件没有及时自动删除,导致服务器数据盘被占满,如果你的服务器是宝塔版面的话就好解决了,在宝塔计划任务中添加Shell脚本任务即可,可以设定在每个时间段执行命令删除。第一种,删除文件目录及里面的全部文件。rm -rfv /www/wwwroot/runtime这个命令就是...

Discuz! X if判断数据输出

主要是判断是否需要显示,代码意思{if 判断这个数值 == '等于这个值'}如果是等于就输出这里{else}如果不等于就输出这里,当然这里可以不输出,留空白{/if},代码如下;{if $_G['forum'] == '数据...

php抓取网页指定位置内容 并替换部分内容

php抓取网页指定位置内容的案例代码<?php //https-cur function curl($url){         $ch=curl_init();   &nbs...

Linux安装1Panel版面的时候出现无法下载安装的解决方法

Linux安装1Panel版面的时候出现无法下载安装的解决方法

Linux安装1Panel版面的时候出现无法下载安装的解决方法,我这边的系统是CentOS,安装的1Panel出现quick_start.sh: line 66: tar: command not found,无法下载安装,这个是因为你的服务器缺少tar命令来解压文件,只要安装tar脚本即可。例如,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。