如何从JSON对象获取数据?

时间:2011-08-27 20:21:14

标签: php json

我正在尝试从JSON对象中检索如下所示的数据:

stdClass Object
(
[query] => stdClass Object
    (
        [results] => stdClass Object
            (
                [quote] => Array
                    (
                        [0] => stdClass Object
                            (
                                [foo] => bar
                            )
                        [1] => stdClass Object
                            (
                                [foo] => blah
                            )

我创建了这样的对象:

$json = curl_exec($session);
$stock_data = json_decode($json);

我一直在阅读几篇关于如何做到这一点的帖子(This one was extremely useful),但我仍然被卡住了。我知道我需要迭代数据,但我不确定foreach语句会是什么样子(即它们的深度,可以这么说)。我意识到这应该是相对简单的,但我现在无法绕过它(这就是撤离对你做的事情)。任何帮助将不胜感激!

编辑:在考虑了一段时间之后,这就是我想出来的:

foreach( $stock_data->query->results as $quote) {
           foreach ($quote as $entry) {
                print $entry->{'foo'} ;
            }
       }

然后这将成功打印bar和blah

2 个答案:

答案 0 :(得分:2)

$quotes = $stock_data->query->results->quote;
foreach ($quotes as $q)
{
  echo $q->foo;
}

答案 1 :(得分:1)

foreach( $stock_data->query->results as $quote) {
       foreach ($quote as $entry) {
            print $entry->{'foo'} ;
        }
   }