2014-05-14 72 views
0

所以我有一個curl_setopt,它使用php來拉動json文件。它有一個例外,在json數據的末尾有一個(1)在最後一個'}'後面。這個「1」在URL調用中並不明顯,但沒有使用curl。所以看來我的curl_setopt配置不正確。有人可以幫忙嗎?php curl_setopt()在結束時返回帶有「1」的json數據

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $domain.$args); 
curl_setopt($ch, CURLOPT_HEADER, false); 
$json = curl_exec($ch); 
curl_close($ch); 

$域。的$ args是沒有1.

經由瀏覽器中手動工作正常,我可以回聲出此變量設置和生成JSON欣賞的幫助

/**編輯建議後**/

我試過下面的建議加入:

curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true);

此剛剛結束了改變整個JSON輸出,不只是增加一個「1」的響應結束:

"{\"data\":[{\"Name\":\"A3\",\"SeoName\":\"a3\"},{\"Name\":\"A4\",\"SeoName\":\"a4\"},{\"Name\":\"A5\",\"SeoName\":\"a5\"},{\"Name\":\"A6\",\"SeoName\":\"a6\"},{\"Name\":\"A7\",\"SeoName\":\"a7\"},{\"Name\":\"A8\",\"SeoName\":\"a8\"},{\"Name\":\"allroad\",\"SeoName\":\"allroad\"},{\"Name\":\"Q5\",\"SeoName\":\"q5\"},{\"Name\":\"Q5 hybrid\",\"SeoName\":\"q5-hybrid\"},{\"Name\":\"Q7\",\"SeoName\":\"q7\"},{\"Name\":\"R8\",\"SeoName\":\"r8\"},{\"Name\":\"RS 5\",\"SeoName\":\"rs-5\"},{\"Name\":\"RS 7\",\"SeoName\":\"rs-7\"},{\"Name\":\"S4\",\"SeoName\":\"s4\"},{\"Name\":\"S5\",\"SeoName\":\"s5\"},{\"Name\":\"S6\",\"SeoName\":\"s6\"},{\"Name\":\"S7\",\"SeoName\":\"s7\"},{\"Name\":\"S8\",\"SeoName\":\"s8\"},{\"Name\":\"SQ5\",\"SeoName\":\"sq5\"},{\"Name\":\"TT\",\"SeoName\":\"tt\"},{\"Name\":\"TTS\",\"SeoName\":\"tts\"}]}" 
+0

您確定響應最終沒有「1」的問題嗎?通過http://secondchoice.de/或http://web-sniffer.net/查看請求,並在最後顯示「1」。 **使用**'CURLOPT_RETURNTRANSFER'(true)! –

+0

其餘的代碼?打印部分在哪裏?和'_RETURNTRANSFER'。 – mario

+3

如果你沒有設置'CURLOPT_RETURNTRANSFER',那麼'curl_exec()'會把它檢索到的東西轉儲到標準輸出並返回一個布爾值,你存儲在'$ json'中,當你做'echo true;'輸出將是1 。 – Sammitch

回答

-1

修復但不理想是substr()它剝離出1.

substr($result, 0, strlen($result) - 1);