Ik heb een probleem met het uitlezen van JSON, ik gebruik postcodeapi en krijg de volgende JSON weer via print_r($object);
stdClass Object
(
[_embedded] => stdClass Object
(
[addresses] => Array
(
[0] => stdClass Object
(
[purpose] => winkelfunctie
[postcode] => 1012JS
[surface] => 23820
[municipality] => stdClass Object
(
[id] => 0363
[label] => Amsterdam
)
[city] => stdClass Object
(
[id] => 3594
[label] => Amsterdam
)
[letter] =>
[geo] => stdClass Object
(
[center] => stdClass Object
(
[rd] => stdClass Object
(
[type] => Point
[coordinates] => Array
(
[0] => 121394
[1] => 487383
)
[crs] => stdClass Object
(
[type] => name
[properties] => stdClass Object
(
[name] => urn:ogc:def:crs:EPSG::28992
)
)
)
[wgs84] => stdClass Object
(
[type] => Point
[coordinates] => Array
(
[0] => 4.8937176
[1] => 52.3732926
)
[crs] => stdClass Object
(
[type] => name
[properties] => stdClass Object
(
[name] => urn:ogc:def:crs:OGC:1.3:CRS84
)
)
)
)
)
[nen5825] => stdClass Object
(
[postcode] => 1012 JS
[street] => DAM
)
[addition] =>
[number] => 1
[year] => 1914
[province] => stdClass Object
(
[id] => 27
[label] => Noord-Holland
)
[id] => 0363200003761447
[type] => Verblijfsobject
[street] => Dam
[_links] => stdClass Object
(
[self] => stdClass Object
(
[href] => https://api.postcodeapi.nu/v2/addresses/0363200003761447/
)
)
)
)
)
[_links] => stdClass Object
(
[self] => stdClass Object
(
[href] => https://api.postcodeapi.nu/v2/addresses/?postcode=1012JS&number=1
)
)
)
Nu wil ik van deze uitkomst alleen de postcode in een echo hebben. Dat probeer ik als volgt:
$postcode = $object['_embedded']['addresses']['0']['postcode'];Als ik dit doe krijg ik een lege pagina terug. (ik zie geen foutcode.)
Dit is het PHP script wat ik gebruik:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.postcodeapi.nu/v2/addresses/?postcode=1012js&number=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"accept: application/hal+json",
"x-api-key: authcode staat hier!"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
$object = json_decode($response);
$postcode = $object['_embedded']['addresses']['0']['postcode'];
if ($err) {
echo "cURL Error #:" . $err;
echo "hallo?";
} else {
echo $postcode;
}
?>