Ve výchozím nastavení cURL automaticky vytiskne převod. Váš kód zobrazuje pouze obsah json, ale curl_exec($cURL) vrátí 1 nebo 0, pokud se něco pokazí, a ne obsah json. Proto nemůžete pomocí json_decode získat požadované pole nebo objekt , řetězec JSON není v $result proměnná.
Chcete-li získat to, co chcete, musíte nastavit další možnost cURL:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
Tímto způsobem curl_exec($cURL) vrátí přenos jako řetězec a již jej nebude automaticky vydávat.
Viz příručku PHP
o vrácených hodnotách curl_exec .
Pak stačí použít json_decode :
foreach (json_decode($result, true) as $book) {
printf("\nISBN: %s\ttitle: %s\tauthor: %s", $book['details']['isbn_10'][0], $book['details']['title'], $book['details']['contributions'][0]);
}