sql >> Database teknologi >  >> RDS >> Mysql

Hvordan analyserer jeg Json-data fra openlibrary api? (korrekt)

Som standard er cURL automatisk udsende overførslen. Din kode viser kun json-indholdet, men curl_exec($cURL) returnerer 1 eller 0, hvis noget går galt, og ikke json-indholdet. Det er derfor, du ikke er i stand til at få det array eller objekt, du ønsker med json_decode , JSON-strengen er ikke i $result variabel.

For at opnå det, du ønsker, skal du indstille en anden cURL-indstilling:

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);

På denne måde curl_exec($cURL) returnerer overførslen som en streng og udsender den ikke længere automatisk.

Se PHP-manualen om de returnerede værdier af curl_exec .

Så skal du kun bruge 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]);
}


  1. MySQl-fejl #1064

  2. Vælg og returner kun Checksum (ikke Table) fra checksum-tabellen i mysql

  3. Forskellige måder at se tabeller på i MySQL Server

  4. Understøtter MySQL brugerdefinerede datatyper