2017-09-24 42 views
0

我有一個JSON一個對象數組從中我想讀[留言]我嘗試了與foreach循環的幫助下做的,但它給了我關於讀取對象數組

未定義的屬性錯誤:stdClass的: :在C $名:\ XAMPP \ htdocs中\ FB \在線路56上

這裏選擇-action.php的是線56

foreach($data->data as $obj) 
    { 
    echo $obj->message.'<br>'; 
    } 

它包含對象JSON數組示出了$數據變量這種類型的結果LTS

stdClass Object 
(
    [data] => Array 
     (
      [0] => stdClass Object 
       (
        [comments] => stdClass Object 
         (
          [data] => Array 
           (
            [0] => stdClass Object 
             (
              [created_time] => 2017-09-19T09:17:24+0000 
              [from] => stdClass Object 
               (
                [name] => Hasni_Collections786 
                [id] => 581985938822055 
               ) 

              [message] => :-p ;) 
              [id] => 737576403263007_737576629929651 
             ) 

            [1] => stdClass Object 
             (
              [created_time] => 2017-09-24T12:54:28+0000 
              [from] => stdClass Object 
               (
                [name] => Hasni_Collections786 
                [id] => 581985938822055 
               ) 

              [message] => :-p 
              [id] => 737576403263007_740798849607429 
             ) 

            [2] => stdClass Object 
             (
              [created_time] => 2017-09-24T12:54:31+0000 
              [from] => stdClass Object 
               (
                [name] => Hasni_Collections786 
                [id] => 581985938822055 
               ) 

              [message] => :-p 
              [id] => 737576403263007_740798896274091 
             ) 

           ) 

          [paging] => stdClass Object 
           (
            [cursors] => stdClass Object 
             (
              [before] => WTI5dGJXVnVkRjlqZAFhKemIzSTZAOek0zTlRjMk5qSTVPVEk1TmpVeE9qRTFNRFU0TVRJMk5EUT0ZD 
              [after] => WTI5dGJXVnVkRjlqZAFhKemIzSTZAOelF3TnprNE9EazJNamMwTURreE9qRTFNRFl5TlRjMk56RT0ZD 
             ) 

           ) 

         ) 

        [id] => 581985938822055_737576403263007 
       ) 

     ) 

    [paging] => stdClass Object 
     (
      [cursors] => stdClass Object 
       (
        [before] => Q2c4U1pXNTBYM0YxWlhKNVgzTjBiM0o1WDJsa0R5UTFPREU1T0RVNU16ZAzRNakl3TlRVNkxUZAzNPRE0xTnpJNU9UQTVOekExTVRVNE56SVBER0ZA3YVY5emRHOXllVjlwWkE4ZAk5UZA3hPVGcxT1RNNE9ESXlNRFUxWHpjek56VTNOalF3TXpJMk16QXdOdzhFZAEdsdFpRWlp3T0I4QVE9PQZDZD 
        [after] => Q2c4U1pXNTBYM0YxWlhKNVgzTjBiM0o1WDJsa0R5UTFPREU1T0RVNU16ZAzRNakl3TlRVNkxUZAzNPRE0xTnpJNU9UQTVOekExTVRVNE56SVBER0ZA3YVY5emRHOXllVjlwWkE4ZAk5UZA3hPVGcxT1RNNE9ESXlNRFUxWHpjek56VTNOalF3TXpJMk16QXdOdzhFZAEdsdFpRWlp3T0I4QVE9PQZDZD 
       ) 

     ) 

) 
+0

你是否意識到,只要它是一個對象數組,它不再是Json?如果你已經證實數組的內容是好的,那麼它曾經是序列化的事實Json是無關緊要的。 – GolezTrol

+0

您可以編輯您的queston以包含JSON字符串。 – MinistryofChaps

+0

我多麼生氣。抱歉讓你陷入這樣的困境。 但我的問題保持不變,我想獲取位於消息索引處的值。 –

回答

2

你的反應似乎是混合陣列/ stdObject。如果給定輸出是從$數據,你的foreach必須看起來像:

foreach ($data->data[0]->comments->data as $obj) { 
    echo $obj->message.'<br>'; 
} 

有沒有什麼地方一個json_decode()?似乎有些部分被轉換爲數組或類似的東西。考慮使用json_decode($ json,true),這會給你整個結果作爲一個數組,沒有這種奇怪的混淆。

+0

非常感謝@natheriel –