Hallo,

Ik kom er niet uit bij het lezen van Json.
Dit heb ik als php:

$json = file_get_contents('info.json');

$obj = json_decode($json);

print_r($obj->{'types'}); 


Bij de print_r() krijg ik dit als output:

Array ( [0] => stdClass Object ( [slot] => 1 [type] => stdClass Object ( [name] => naam [url] => https://komtnog.nl/ ) ) )


Hoe kan ik "name" lezen?
Ik heb verschillende dingen geprobeerd door ->{'name'} en zonder "->" geprobeerd, maar ik kom er niet uit.
Waarom werk je niet met array's i.p.v. objecten?

Vervang:

$obj = json_decode($json);

door:

$obj = json_decode($json,true);


En je kan het net als een array behandelen.
En als je het tussen <pre> tags zet, dan heb je helemaal een overzichtelijke tree van je array.
Gelukt. :)

Array ( [0] => stdClass Object ( [slot] => 1 [type] => stdClass Object ( [name] => naam [url] => https://komtnog.nl/ ) ) )

En om nog even antwoord te geven, $obj is een array, geen object, dus met $obj[0]->type->name was het wel gelukt

Reageren