0
    {
   "kind": "books#volume",
   "id": "a3ERAAAAYAAJ",
   "etag": "Pax/JBMS5hw",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/a3ERAAAAYAAJ",
   "volumeInfo": {
    "title": "Passion-flowers",
    "authors": [
     "Julia Ward Howe"
    ],
    "publishedDate": "1854",
    "industryIdentifiers": [
     {
      "type": "OTHER",
      "identifier": "HARVARD:32044023800626"
     }
    ],
    "pageCount": 187,
    "printType": "BOOK",
    "contentVersion": "full-1.0.0",
    "imageLinks": {
     "smallThumbnail": "http://bks2.books.google.it/books?id=a3ERAAAAYAAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api",
     "thumbnail": "http://bks2.books.google.it/books?id=a3ERAAAAYAAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api"
    },
    "language": "en",
    "previewLink": "http://books.google.it/books?id=a3ERAAAAYAAJ&printsec=frontcover&dq=flowers&as_brr=7&hl=&cd=1&source=gbs_api",
    "infoLink": "http://books.google.it/books?id=a3ERAAAAYAAJ&dq=flowers&as_brr=7&hl=&source=gbs_api",
    "canonicalVolumeLink": "http://books.google.it/books/about/Passion_flowers.html?hl=&id=a3ERAAAAYAAJ"
   },
   "saleInfo": {
    "country": "IT",
    "saleability": "FREE",
    "isEbook": true
   },
   "accessInfo": {
    "country": "IT",
    "viewability": "ALL_PAGES",
    "embeddable": true,
    "publicDomain": true,
    "textToSpeechPermission": "ALLOWED",
    "epub": {
     "isAvailable": false,
     "downloadLink": "http://books.google.it/books/download/Passion_flowers.epub?id=a3ERAAAAYAAJ&hl=&output=epub&source=gbs_api"
    },
    "pdf": {
     "isAvailable": true,
     "downloadLink": "http://books.google.it/books/download/Passion_flowers.pdf?id=a3ERAAAAYAAJ&hl=&output=pdf&sig=ACfU3U0sPdmPZp_LmFzZXatBjMeV54xJxA&source=gbs_api"
    },
    "webReaderLink": "http://books.google.it/books/reader?id=a3ERAAAAYAAJ&as_brr=7&hl=&printsec=frontcover&output=reader&source=gbs_api",
    "accessViewStatus": "FULL_PUBLIC_DOMAIN"
   }
  }

こんにちは、上に投稿した作品のような Json ファイルがあります。このファイルに含まれるすべてのタイトルとサムネイルの URL を抽出したいと思います。このコードで最初のタイトル アイテムにアクセスしようとしましたが、うまくいきませんでした:

<?php

$file = file_get_contents("volumes.json");

$json = json_decode($file, true);

$json->items->volumeInfo[0]->title;

?>

7 行目で Trying to get property of non-object が表示されます。$json にオブジェクトとしてアクセスできないのはなぜですか? そして、すべてのデータを抽出するにはどうすればよいですか? ありがとう

4

3 に答える 3

1

あなたが試すことができます

$json = json_decode($file, true);
var_dump($json['volumeInfo']['title']);

または

$json = json_decode($file);
var_dump($json->volumeInfo->title);

出力

string 'Passion-flowers' (length=15)
于 2012-10-08T20:52:41.333 に答える
0

常に配列を返すように明示的に指示json_decode()する場合 (2 番目のパラメーターは適切です)、オブジェクト表記を使用して結果内の何かにアクセスしようとしないでください。

于 2012-10-08T20:56:22.723 に答える
0

問題は、$json を配列としてロードしていることです。オブジェクトとしてロードする場合は、次のようにします。

$json = json_decode($file, false);

http://php.net/manual/en/function.json-decode.php

于 2012-10-08T20:52:50.180 に答える