PHP解析JSON数据并输出数据 - 使用示例
使用PHP解析JSON数据并输出数据
本文将介绍如何使用PHP解析JSON数据,并根据不同的需求输出不同的数据格式。
示例1:解析API获取的JSON数据并输出数据列表
假设从http://cc.com获取到以下JSON数据:
{
'code': 1,
'msg': '数据列表',
'page': 1,
'pagecount': 1,
'limit': '20',
'total': 2,
'list': [{
'vod_id': 7221,
'vod_name': '点金胜手粤语',
'vod_play_url': '第01集$https://aa.com/第01集/index.m3u8#第02集$https://aa.com/第02集/index.m3u8',
}, {
'vod_id': 7220,
'vod_name': '点金胜手国语',
'vod_play_url': '第01集$https://bb.com/第01集/index.m3u8#第02集$https://bb.com/第02集/index.m3u8',
}]
}
我们需要将其解析并输出为以下格式:
{
'data': [
{
'name': '点金胜手粤语',
'url': 'http://xxxx.com/?id=7221'
},
{
'name': '点金胜手国语',
'url': 'http://xxxx.com/?id=7220'
}
]
}
以下是使用PHP输出数据的代码:
$data = '{\n 'code': 1,\n 'msg': '数据列表',\n 'page': 1,\n 'pagecount': 1,\n 'limit': '20',\n 'total': 2,\n 'list': [{\n 'vod_id': 7221,\n 'vod_name': '点金胜手粤语',\n 'vod_play_url': '第01集$https://aa.com/第01集/index.m3u8#第02集$https://aa.com/第02集/index.m3u8',\n }, {\n 'vod_id': 7220,\n 'vod_name': '点金胜手国语',\n 'vod_play_url': '第01集$https://bb.com/第01集/index.m3u8#第02集$https://bb.com/第02集/index.m3u8',\n }]\n}';
// 解析JSON数据
$jsonData = json_decode($data, true);
$outputData = [];
foreach ($jsonData['list'] as $item) {
$outputData[] = [
'name' => $item['vod_name'],
'url' => 'http://xxxx.com/?id=' . $item['vod_id']
];
}
// 输出数据
$output = json_encode(['data' => $outputData]);
echo $output;
示例2:解析URL参数并输出对应的数据
假设访问http://xxxx.com/?id=7221时,需要输出以下数据:
{
'data': [
{
'name': '第01集',
'url': 'https://aa.com/第01集/index.m3u8'
},
{
'name': '第02集',
'url': 'https://aa.com/第02集/index.m3u8'
}
]
}
以下代码可以实现该功能:
$id = $_GET['id'];
if ($id == 7221) {
$data = [
[
'name' => '第01集',
'url' => 'https://aa.com/第01集/index.m3u8'
],
[
'name' => '第02集',
'url' => 'https://aa.com/第02集/index.m3u8'
]
];
} else {
$data = [];
}
// 输出数据
$output = json_encode(['data' => $data]);
echo $output;
请将上述代码中的http://xxxx.com/?id=7221替换为你自己的URL。
原文地址: https://www.cveoy.top/t/topic/jv92 著作权归作者所有。请勿转载和采集!