使用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。

PHP解析JSON数据并输出数据 - 使用示例

原文地址: https://www.cveoy.top/t/topic/jv92 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录