Par défaut, cURL
sort automatiquement le transfert. Votre code affiche uniquement le contenu json, mais curl_exec($cURL)
renvoie 1 ou 0 si quelque chose ne va pas, et non le contenu json. C'est pourquoi vous ne parvenez pas à obtenir le tableau ou l'objet souhaité avec json_decode
, la chaîne JSON n'est pas dans le $result
variables.
Pour obtenir ce que vous voulez, vous devez définir une autre option cURL :
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
De cette façon curl_exec($cURL)
renverra le transfert sous forme de chaîne et ne le sortira plus automatiquement.
Voir le manuel PHP
sur les valeurs renvoyées de curl_exec
.
Ensuite, il vous suffit d'utiliser 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]);
}