繁体   English   中英

来自json_encode()的无效json

[英]Invalid json from json_encode()

这是我的PHP文件(实际文件比较复杂,但是即使使用最简单的代码,我也发现它失败了):

<?php
$salida = array(1,2,3,4,5);
echo json_encode($salida);
?>

这是我得到的答复:

[1,2,3,4,5]

似乎是有效的,但事实并非如此。 当我将其传递给jQuery.parseJSON()函数时,我的AJAX应用会显示'Unexpected token' 当我将其粘贴到JSONLint网页时,返回相同的错误。

我注意到,如果删除第一个字符并再次键入它,则JSON变为有效。

这让我开始思考,我使用HEX编辑器检查了JSON字符串,并在文件开头发现了奇怪的字符:

[1,2,3,4,5] 

这很奇怪,因为该功能直到几天前仍能正常工作,并且文件尚未修改。

<?php>标记位于文件的开头,其编码为utf-8。

我在Windows 8.1上使用XAMPP 1.8.3。 我重新安装了XAMPP,以防万一某些东西坏了,但是json_enconde()函数仍然无法正常工作。

有人知道该如何解决吗?

谢谢

您需要保存没有UTF8 BOM(字节顺序标记)的PHP文件(及其包含的所有文件)。 如何执行此操作取决于您的编辑器。 请注意,使用UTF8本身是完全可以的并且值得鼓励。 只是没有BOM。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM