2017-06-21 58 views
1

我創建了一個使用etsy api顯示商店信息的網站。我試圖訪問重建的json字符串的個別值。爲此,我需要將返回的字符串轉換爲對象。我唯一能看到的方法是json_decode($response_body);,但我似乎無法得到這個工作。當我使用該函數時,當我嘗試獲取它的類型時,它返回undefined/NULL。返回的字符串看起來像這樣:{"count":3,"results":[{"listing_id":252525252,"state":"active","user_id":1111111,"category_id":1234567,"title":"Title of product","description":"This is a description"}。有什麼我正在做的完全錯誤?下面是我使用的代碼:當使用etsy API時,json_decode返回undefined/null

$url = "https://api.etsy.com/v2/shops/shopname/listings/active?api_key=".$apikey; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response_body = curl_exec($ch); 
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
if (intval($status) != 200) throw new Exception("HTTP $status\n$response_body"); 
$reponse_fixed = json_decode($response_body); 
echo $response_fixed; 
+0

這是整個JSON字符串,還是隻是一個片段?因爲作爲一個片段,它是無效的JSON - 至少,它缺少一個關閉''' –

+0

從'var_dump($ response_body)'發佈輸出(從頁面源複製,以便保留空白) –

+0

@MichaelBerkowski對不起,這是無效的。我只是試圖手工輸入。返回的Json似乎是有效的,雖然 – McMatt

回答

0

json_decode返回null可以是可能的,如果已經被作爲參數傳遞的數據是無效的JSON或空。 所以請確保響應是正確的JSON格式