Secara default, cURL
secara otomatis mengeluarkan transfer. Kode Anda hanya menampilkan konten json, tetapi curl_exec($cURL)
mengembalikan 1 atau 0 jika ada yang salah, dan bukan konten json. Itu sebabnya Anda tidak bisa mendapatkan larik atau objek yang Anda inginkan dengan json_decode
, string JSON tidak ada dalam $result
variabel.
Untuk mendapatkan apa yang Anda inginkan, Anda perlu menyetel opsi cURL lain:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
Dengan cara ini curl_exec($cURL)
akan mengembalikan transfer sebagai string dan tidak akan mengeluarkannya lagi secara otomatis.
Lihat manual PHP
tentang nilai yang dikembalikan dari curl_exec
.
Maka Anda hanya perlu menggunakan 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]);
}