-1

重複の可能性:
print_r()の出力で変数を確認できますが、コードで変数にアクセスする方法がわかりません

jsonを解析するためのPHPコード:

<?php
$url = "http://xxx.com/request-url?type=json";
$string = file_get_contents($url);      
$json = json_decode($string);

if (count($json)) {
  echo $json->book->title;
} else {
  echo "No book found";
}
?>

json応答の例:

{"book":[{"title":"Good day"}]}

単一の配列のため、foreachを削除しました:foreach($ json-> book as $ books)

私が試したのは
、$ json-> book-> title、
$ json-> title、
$ json [book] [title]、
$json[title]です。

すべてが機能していません。

何か助けはありますか?

4

1 に答える 1

2

print_r($json)あなたが得るときあなたは

stdClass Object
(
    [book] => Array
        (
            [0] => stdClass Object
                (
                    [title] => Good day
                )

        )

)

StdClassプロパティにアクセスし->、配列にアクセスします[]

だから、明らかに、それは

$json->book[0]->title;

デモをクリックしてください

これが機能しない場合は、JSONが無効である可能性があります。http://www.jsonlint.comで確認してください

于 2013-01-05T10:55:26.787 に答える