使用php解析json单个数组而不用foreach

时间:2013-01-05 10:49:54

标签: php json

  

可能重复:
  Able to see a variable in print_r()'s output, but not sure how to access it in code

用于解析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-&gt; book as book book)

我试过了:
$ json-&GT;书本 - &GT;标题,
$ json-&GT;标题,
$ JSON [图书] [标题],
$ JSON [标题]。

一切都行不通。

任何帮助?

1 个答案:

答案 0 :(得分:2)

当你print_r($json)时,你得到了

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

        )

)

您可以使用->访问StdClass属性,使用[]

访问数组

所以,显然,它是

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

Click for Demo

如果这不起作用,那么您的JSON可能无效。请使用http://www.jsonlint.com

进行检查