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