2011-07-05 81 views
1

我想解析這個來自url的json數據,但我得到NULL我該如何解決這個問題。無效json數據

$source = file_get_contents('http://partners.socialvi.be/e414f702cf3db89a2fe58066bbab369d65b6a058/activities/available.json'); 

$json = json_decode($source); 

var_dump($json); 
+2

您是否在'json_decode()'之前嘗試過'echo $'的內容? – jerluc

+2

當你在解碼之前直接調用url時,你會得到什麼? – JMax

+0

URL爲我返回'onSVJson([])',所以不要奇怪 – Gordon

回答

4

這是因爲在API中JSONP format返回數據,而不是純粹的JSON。注意周圍的onSVJson([])。你要麼必須去掉這個,要麼讀取API文檔並嘗試另一種請求格式。我的猜測是,留下最後的&callback=onSVJson應該做的伎倆。

0

刪除網址的最後一部分(&callback=onSVJson),它會工作。

許多API提供了一個名爲JSONP的功能,允許將JSON傳遞給回調函數,以便通過跨域JavaScript簡化訪問。但對於PHP而言,您並不需要它。

回調函數的名稱通常使用callback GET參數指定。如果你不這樣做,就不會使用回調函數 - 只是簡單的JSON。