-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 回答