CrabLab
CrabLab

Reputation: 182

PHP Cannot loop through nested JSON

I have an API which is returning some nested JSON data with multiple levels. My PHP code to loop through is below but I'm not getting any output:

    $data = json_decode($output, true);     

    foreach($data as $item){

        $title = $item->events->name->text;
        echo $title;
    }

An example of the data can be found here: https://i.sstatic.net/eAtrI.png

I am trying to print the text name of each of the events (events->name->text)

Upvotes: 0

Views: 1482

Answers (1)

Mindastic
Mindastic

Reputation: 4121

There is a problem in your code, when you decode the json string, you use:

$data = json_decode($output, true);     

It is converting everything to "array" (http://php.net/manual/en/function.json-decode.php), so you cannot access it like if they were objects.

You have to do:

foreach($data as $item){

    $title = $item["events"]["name"]["text"];
    echo $title;
}

Hope this helps!

Upvotes: 4

Related Questions