Я пытаюсь разобрать json-переменные с помощью php-кодов. Проблема заключается в том, что некоторые из ключей массива содержат изменяемые значения для каждой итерации. Кстати, это не дублирующий вопрос, нет ничего похожего на json-анализ с переменными переменными. Вот мой пример json и php-коды, а также вывод;Parsing JSON С сменным ключом
{
"link":"",
"host":"stream",
"filename":"Rock Ballads The Best Of 70-90's",
"icon":"https:\/\/i.ytimg.com\/vi\/JN80ayCfmW0\/hqdefault.jpg",
"streaming":{
"audio track in mp3 (54.54MB)":"http:\/\/server.example.parsing.com\/str\/wlqcjv8246\/Rock+Ballads+The+Best+Of+70-90%26%23039%3Bs%28p%29.mp3",
"360p video in mp4 (80.04MB)":"http:\/\/server.example.parsing.com\/str\/wlqcjyfc33\/Rock+Ballads+The+Best+Of+70-90%26%23039%3Bs%28480p%29.mp4",
"240p video in mp4 (76.55MB)":"http:\/\/server.example.parsing.com\/str\/wlqck18b72\/Rock+Ballads+The+Best+Of+70-90%26%23039%3Bs%28240p%29.mp4",
"144p video in mp4 (71.09MB)":"http:\/\/server.example.parsing.com\/str\/wlqck4e410\/Rock+Ballads+The+Best+Of+70-90%26%23039%3Bs%28144p%29.mp4"
},
"nb":0,
"error":"",
"paws":false
}
и это код php, который я использую;
if($host=="www.youtube.com"){
$decodeProcess = json_decode($output,true);
echo ($decodeProcess['filename']);
echo ($decodeProcess['icon']);
echo ($decodeProcess['streaming']['audio track in mp3 (54.54MB)']);
}
В этом случае имя файла и значок работает хорошо, но «звуковой дорожки в формате MP3 (54.54MB)» или «144p видео в mp4 (71.09MB)» является проблемой для меня, чтобы разобрать, потому что каждый раз, когда изменяется размер файла. Что я могу сделать?
Чтобы уточнить, ваша переменная '$ host' находится из json key' "host" '? – Kai
Откуда вы получаете этот JSON? Одним из решений может быть цикл над $ decodeProcess ['streaming'] 'и посмотреть, содержит ли ключ' audio track в mp3' или что-то еще. –
Если это так, то вы хотите разобрать json и присвоить '$ host' содержимому' someJson-> host' – Kai