0
這是我的PHP文件(實際的文件是比較複雜的,但我發現它失敗,即使是最簡單的代碼):無效的JSON()
<?php
$salida = array(1,2,3,4,5);
echo json_encode($salida);
?>
這是我得到的迴應:
[1,2,3,4,5]
似乎是有效的,但事實並非如此。當我將它傳遞給jQuery.parseJSON()函數時,我的AJAX應用程序顯示'Unexpected token'
。當我將它粘貼到JSONLint網頁時,返回相同的錯誤。
我注意到,如果我刪除第一個字符並再次鍵入,JSON就會生效。
這讓我開始思考,我檢查了JSON字符串以十六進制編輯器,我發現奇怪的字符在文件的開頭:
[1,2,3,4,5]
這很奇怪,因爲該功能能正常工作,直到前幾天,並且該文件尚未修改。
<?php>
標籤位於文件的開頭,它的編碼爲utf-8。
我在Windows 8.1上使用XAMPP 1.8.3。我重新安裝了XAMPP,以防萬一出現問題,但json_enconde()
函數仍然無法正常工作。
任何人都知道如何解決這個問題?
感謝
事實上,我的文件編碼爲UTF-8,沒有BOM,但我注意到用require_once()調用的一個依賴文件被編碼爲帶有BOM的UTF8。 – Davalom