sql >> Database >  >> RDS >> Mysql

Hoe parseer ik Json-gegevens van openlibrary api? (naar behoren)

Standaard cURL automatisch de overdracht uitvoeren. Uw code geeft alleen de json-inhoud weer, maar curl_exec($cURL) geeft 1 of 0 terug als er iets misgaat, en niet de json-inhoud. Daarom kunt u de gewenste array of het gewenste object niet krijgen met json_decode , de JSON-tekenreeks staat niet in de $result variabel.

Om te krijgen wat je wilt, moet je een andere cURL-optie instellen:

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);

Op deze manier curl_exec($cURL) retourneert de overdracht als een tekenreeks en voert deze niet meer automatisch uit.

Zie de PHP-handleiding over de geretourneerde waarden van curl_exec .

Dan hoef je alleen json_decode . te gebruiken :

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 5.6 EOL-aankondiging

  2. Is een RID Lookup sneller dan een Key Lookup?

  3. pivot in mysql-query's

  4. Hoe beeldalbums in berichten weergeven? [alleen met PHP en MYSQL]