sql >> Databasteknik >  >> RDS >> Mysql

Hur analyserar jag Json-data från openlibrary api? (ordentligt)

Som standard är cURL automatiskt mata ut överföringen. Din kod visar bara json-innehållet, men curl_exec($cURL) returnerar 1 eller 0 om något blir fel, och inte json-innehållet. Det är därför du inte kan få arrayen eller objektet du vill ha med json_decode , JSON-strängen finns inte i $result variabel.

För att få det du vill ha måste du ställa in ett annat cURL-alternativ:

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);

På detta sätt curl_exec($cURL) returnerar överföringen som en sträng och kommer inte längre att mata ut den automatiskt.

Se PHP-manualen om de returnerade värdena för curl_exec .

Då behöver du bara använda 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. Hur man klassificerar, hittar och maskerar PII i databaser...

  2. Hur tillämpar man en SUM-operation utan att gruppera resultaten i SQL?

  3. lägg till kolumn i mysql-tabellen om den inte finns

  4. Subtrahera datum i Oracle - nummer eller intervalldatatyp?