2017-06-27 53 views
0

我向Facebook Graph API發送了一個請求,它從Facebook賬戶返回一個帖子。無法訪問PHP中的對象變量來自Facebook Graph API

我只是試圖訪問數據的對象例如在PHP返回,但一切我已盡力回報NULL

樣本響應

{ 
    "data": [ 
     { 
     "id": " 111111111111111111100000", 
     "message": "Coming soon #PERFECTFIT 05.07.17 \nRegister to be one of the first to find out what it is here ⬇️\nhttp://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
     "created_time": "2017-06-26T17:39:20+0000", 
     "link": "http://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
     "full_picture": "https://scontent.xx.fbcdn.net/v/t39.2147-6/19284954_1592534984092755_4946207882807869440_n.jpg?oh=56cc96435f423cec31962966b6f689c2&oe=59DB08B6" 
     } 
    ] 
} 

我想在對象數據的陣列來獲得提供這樣我就可以在MVC較大的響應返回的數據。

這並不目前的工作:

$response->data; // returns null 
$response[0]->data; // returns null 
$response->data[0]; // returns null 

覺得我失去了一些東西明顯。

+1

解碼完成後執行一個'var_dump($ response);'。 (如果需要解碼)。通過這種方式,您將瞭解數據的結構並瞭解如何訪問它。 – Twisted1919

+0

這是來自'var_dump'。它不應該需要解碼,因爲當前的數據結構中可以訪問關鍵的「數據」? – Shwmae

+0

請按照建議和var_dump迴應。你上面的東西不是var dumped,它只是一個你認爲你有的json表示,顯然你沒有;) – Twisted1919

回答

0

json_decode然後試圖訪問數據的第一解碼它反對

$res = json_decode($response);  
print_r($res->data); 
print_r($res->data[0]->id); 
print_r($res->data[0]->message); 

code

0

,你必須先用JSON解碼功能,因此您可以從JSON響應獲取數據。

$response = '{ 
    "data": [ 
    { 
    "id": "143384725674462_1592535354092718", 
    "message": "Coming soon #PERFECTFIT 05.07.17 \nRegister to be one of the first to find out what it is here ⬇️\nhttp://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
    "created_time": "2017-06-26T17:39:20+0000", 
    "link": "http://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
    "full_picture": "https://scontent.xx.fbcdn.net/v/t39.2147-6/19284954_1592534984092755_4946207882807869440_n.jpg?oh=56cc96435f423cec31962966b6f689c2&oe=59DB08B6" 
    } 
] 
}'; 

$response = json_decode($response); 

print_r($response->data[0]->id); 
print_r($response->data[0]->message);