Per impostazione predefinita, cURL
emette automaticamente il trasferimento. Il tuo codice mostra solo il contenuto json, ma curl_exec($cURL)
restituisce 1 o 0 se qualcosa va storto e non il contenuto json. Ecco perché non riesci a ottenere l'array o l'oggetto che desideri con json_decode
, la stringa JSON non è nel $result
variabile.
Per ottenere ciò che desideri, devi impostare un'altra opzione cURL:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
In questo modo curl_exec($cURL)
restituirà il trasferimento come stringa e non lo produrrà più automaticamente.
Consulta il manuale PHP
sui valori restituiti di curl_exec
.
Quindi devi solo usare 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]);
}