Por defecto, cURL
emite automáticamente la transferencia. Tu código solo muestra el contenido json, pero curl_exec($cURL)
devuelve 1 o 0 si algo sale mal, y no el contenido json. Es por eso que no puede obtener la matriz u objeto que desea con json_decode
, la cadena JSON no está en $result
variables.
Para obtener lo que desea, debe configurar otra opción de cURL:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
De esta forma curl_exec($cURL)
devolverá la transferencia como una cadena y ya no la generará automáticamente.
Consulte el manual de PHP
sobre los valores devueltos de curl_exec
.
Entonces solo necesitas usar 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]);
}