2011-09-01 61 views
3

我已經破譯使用$my_friends = json_decode(file_get_contents($frens));print_r($my_friends);給出以下響應弗朗Facebook的JSON響應JSON響應:如何解碼從Facebook

stdClass Object 
(
    [data] => Array 
     (
      [0] => stdClass Object 
       (
        [name] => Mrinal Kumar Rai Baruah 
        [id] => 546111977 
       ) 

      [1] => stdClass Object 
       (
        [name] => Roshan Khangembam 
        [id] => 553139665 
       ) 

      [2] => stdClass Object 
       (
        [name] => Tarunesh Kumar Saurav 
        [id] => 620690126 
       ) 
......................... 
     ) 

) 

我是新來的JSON和m很困惑。我如何迭代上述響應來獲取名稱?

+0

調查第二個參數爲['json_decode()'](http://php.net/json_decode)以接收一個普通數組。然後閱讀['foreach'](http://php.net/foreach)和可能的基本['array'](http://php.net/array)處理(因爲這就是你所說的「json」 )。 – mario

回答

6
foreach($my_friends['data'] as $key => $val) { 
    echo "Friend #{$key} = {$val['name']}\n"; 
} 
+0

感謝您的快速回復Marc ....但它說「不能使用stdClass類型的對象作爲數組」! –

+2

如果你正在使用json_decode,請執行'json_decode($ json,true)',這將強制它返回一個數組而不是一個對象。否則使用'{$ val-> name}'而不是'{$ val ['name']}'。 –

+0

謝謝馬克....現在它的工作很完美。 stdClass對象在這裏意味着什麼? –