我用PHP檢索json信息時出現了一些問題。用php檢索json時出錯
我創建了一個簡單的PHP頁面,返回一個JSON:
$data = array(
'title' => 'Simple title'
);
print json_encode($data);
而在另一頁我試圖讓該數組作爲一個對象:
$content = file_get_contents($url);
$json_output = json_decode($content, true);
switch(json_last_error())
{
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_NONE:
echo ' - No errors';
break;
}
的問題是,有這種方法是錯誤的:我收到一個「JSON_ERROR_SYNTAX」,因爲在「file_get_contents」函數之後,我在字符串的開頭有一個未知字符。
如果我複製/粘貼在記事本+ +,我沒有看到:
{"title":"Simple title"}
但我看到:
?{"title":"Simple title"}
有人能幫助我嗎?
稍微更新一下:如果我在返回的字符串中使用php函數「utf8_encode」,那麼在字符串的開頭就有這個「****」......我不知道爲什麼.. 。 –
這是UTF-8 BOM(http://en.wikipedia.org/wiki/Byte_order_mark),你應該刪除它;) – ComFreek