Извлечение данных из вложенного цикла JSON Переполнение стека

Хорошо, я боролся с этим в течение двух дней !! Вот моя структура Json.
[

{
"uuid":"/random number==",
"meeting_number":7196503037,
"host_id":"random number",
"topic":"My's Personal Meeting Room",
"start_time":"2015-01-06T22:01:07Z",
"timezone":"America/Denver",
"duration":56,
"total_size":378080,
"recording_count":1,
"recording_files":[
{
"id":"long number",
"meeting_id":"/NS90bsSTLeGzo6cT0nwXw==",
"recording_start":"2015-01-06T22:01:09Z",
"recording_end":"2015-01-06T22:01:14Z",
"file_size":378080,
"play_url":"https://myurl"}
]
},

Я пытаюсь извлечь время начала из массива верхнего уровня (который называется «встречи») и URL-адрес воспроизведения из массива второго уровня (recording_files). Я использую json_decode для декодирования файла в массивы.

Я пробовал много вариантов, найденных на этом сайте, и, кажется, ничто не добралось до игровой ссылки
ВАРИАЦИЯ 1
$ aha = json_decode ($ response, true);

        foreach ($aha['meetings'] as $key => $value){
foreach($key['recording_files'] as $subkey => $newvalue){echo '<p>Time : '.$value['start_time'].'</p>
<a href="'.$newvalue['play_url'].'">Recording</a><br>';

}}
Это тянет неверный аргумент в foreach.

ВАРИАЦИЯ 2
foreach ($ aha [‘встречи’] как $ ключ => $ значение) {

        echo '<p>Time : '.$value['start_time'].'</p>
<a href="'.$value['play_url'].'">Recording</a><br>';

}
Это тянет неопределенный индекс для play_url. Как и тот же код со ссылкой на [‘recording_files’], помещенный перед [‘play_url’]

ВАРИАЦИЯ 3:
Затем я попытался отказаться от первого уровня и просто получить данные со второго уровня:
$ aha = json_decode ($ response, true);

        foreach ($aha['meetings']['recording_files'] as $key => $value){echo '<p>Time : '.$value['recording_start'].'</p>
<a href="'.$value['play_url'].'">Recording</a><br>';

}
Это дает мне неопределенный индекс для [‘recording_files’] и ошибку foreach.

ВАРИАЦИЯ 4.
$ aha = json_decode ($ response, true);

        foreach ($aha['meetings'] as $key => $value){
$link=$key['recording_files'];

echo '<p>Time : '.$value['start_time'].'</p>
<a href="'.$link['play_url'].'">Recording</a><br>';

}
Это делает меня ближе всего — без ошибок, но без ссылки. Я предполагаю, что здесь код видит поле, но не извлекает данные из него …

Пожалуйста, помогите новичку JSON человек!

0

Решение

Редактировать:

Если ваши данные выглядят так:

$str = "{\"meetings\":[{
\"uuid\":\"/random number==\",
\"meeting_number\":7196503037,
\"host_id\":\"random number\",
\"topic\":\"My's Personal Meeting Room\",
\"start_time\":\"2015-01-06T22:01:07Z\",
\"timezone\":\"America/Denver\",
\"duration\":56,
\"total_size\":378080,
\"recording_count\":1,
\"recording_files\":[
{
\"id\":\"long number\",
\"meeting_id\":\"/NS90bsSTLeGzo6cT0nwXw==\",
\"recording_start\":\"2015-01-06T22:01:09Z\",
\"recording_end\":\"2015-01-06T22:01:14Z\",
\"file_size\":378080,
\"play_url\":\"https://myurl\"}
]
}]}";$json = json_decode($str);
$res = $json->{'meetings'};

foreach($res as $keys){
echo $keys->{'start_time'}."<br>";
foreach ($keys->{'recording_files'} as $data){
echo $data->{'play_url'}."<br>";
echo $data->{'recording_start'}."<br>";
}
}
-1

Другие решения

Если есть действительно $aha['meetings'] (вы не показываете его), затем используйте значение, а не ключ во втором foreach:

foreach($aha['meetings'] as $value){
foreach($value['recording_files'] as $newvalue){
0

Окончательный код, который это исправил.

        $aha = json_decode($response,true);

foreach ($aha['meetings'] as $key => $value){

echo '<p>Time : '.$value['start_time'].'</p>
<a href="'.$value['recording_files'][0]{'play_url'}.'">Recording</a><br>';}

Это был просто вопрос поиска правильного формата для ссылки на кусок play_url.
Большое спасибо всем!

0
По вопросам рекламы [email protected]