0

Tengo el siguiente archivo de JSON, el cual puedo iterar correctamente. Con ello obtengo los valores de 'HD01' y 'HD02'.

 $json = '{
          "T":{
             "HD": {
                 "HD01": "superman",
                 "HD02": "batman"
               }
            }   
        }';
@foreach($data as $item)
    @foreach ($item->HD as $title)
       {{ $title }}
       <br/>
    @endforeach
@endforeach

Pero al convertirlo en un Array, ya no consigo hacer el mismo recorrido.

$json = '[{
          "T":{
             "HD": {
                 "HD01": "superman",
                 "HD02": "batman"
               }
            }   
        }]';

Como puedo modificar mi 'Foreach' de Blade de tal modo que pueda obtener los mismos resultados.

Gracias

1 respuesta 1

0

Tu problema surge porque tienes un array de JSONS y necesitas acceder a el de otra manera.

Una solución rápida de a tu problema sería guardar este array dentro de una variable haciendo uso de la función json_decode, ya que este devuelve un array asociativo. Ej:

$json = '[{
    "T":{
        "HD": {
            "HD01": "superman",
            "HD02": "batman"
         }
    }   
}]';

$array = json_decode($json, true);

Luego podrías imprimirlo de la siguiente manera:

@foreach ($array[0]['T']['HD'] as $title)
    {{ $title }}
    <br/>
@endforeach

Aquí te dejo en link a una pregunta más o menos parecida a la tuya pero, con una mejor explicación a la mía: Respuesta con mejor explicación

¿No es la respuesta que buscas? Examina otras preguntas con la etiqueta o formula tu propia pregunta.