2011-08-27 205 views
0

我正在嘗試從一個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'} ; 
      } 
     } 

這一操作將成功打印兩欄和等等

+1

哪個級別你想迭代?它基本上是PHP數組和對象的混合,例如'echo $ object-> query-> results-> quote [0] - > foo' –

+0

我想遍歷報價中的每個對象。我設法弄清楚了! – thomascirca

回答

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

不錯!我想出了我自己的解決方案,但兩者看起來非常相似。 – thomascirca

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