如何从JSON对象获取数据?
问题描述:
我正在尝试从一个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'} ;
}
}
这一操作将成功打印两栏和等等
答
$quotes = $stock_data->query->results->quote;
foreach ($quotes as $q)
{
echo $q->foo;
}
+0
不错!我想出了我自己的解决方案,但两者看起来非常相似。 – thomascirca
答
foreach($stock_data->query->results as $quote) {
foreach ($quote as $entry) {
print $entry->{'foo'} ;
}
}
哪个级别你想迭代?它基本上是PHP数组和对象的混合,例如'echo $ object-> query-> results-> quote [0] - > foo' –
我想遍历报价中的每个对象。我设法弄清楚了! – thomascirca