Som standard är cURL
automatiskt mata ut överföringen. Din kod visar bara json-innehållet, men curl_exec($cURL)
returnerar 1 eller 0 om något blir fel, och inte json-innehållet. Det är därför du inte kan få arrayen eller objektet du vill ha med json_decode
, JSON-strängen finns inte i $result
variabel.
För att få det du vill ha måste du ställa in ett annat cURL-alternativ:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
På detta sätt curl_exec($cURL)
returnerar överföringen som en sträng och kommer inte längre att mata ut den automatiskt.
Se PHP-manualen
om de returnerade värdena för curl_exec
.
Då behöver du bara använda 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]);
}