php通过json网址获取数据指定提取某个值并打印显示出来
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); ?>