Por padrão,
cURL
saída automaticamente a transferência. Seu código exibe apenas o conteúdo json, mas curl_exec($cURL)
retorna 1 ou 0 se algo der errado, e não o conteúdo json. É por isso que você não consegue obter a matriz ou objeto que deseja com json_decode
, a string JSON não está no $result
variável. Para obter o que deseja, você precisa definir uma outra opção cURL:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
Desta forma
curl_exec($cURL)
retornará a transferência como uma string e não a produzirá mais automaticamente. Consulte o manual do PHP sobre os valores retornados de
curl_exec
. Então você só precisa 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]);
}