PHP json_encode-无效的json

PHP json_encode-无效的json,php,mysql,json,web-services,Php,Mysql,Json,Web Services,我创建了一个php代码来查找数据库mySQL的信息并转换为JSON JSON输出似乎是正确的,但是当使用一些验证器时,总是返回错误:意外的令牌 如果我在验证器上手动输入JSON输出,它会工作!如果复制并粘贴,则会发生异常 要验证JSON,请执行以下操作: 您在文件的开头有一个 您应该保存没有BOM的脚本,因为这会导致输出无效 如果您查看开发人员工具中的确切响应,您将在json开始之前看到两个序列:  [{"descricao":"Amendoim"},{"descricao":"Ce

我创建了一个php代码来查找数据库mySQL的信息并转换为JSON

JSON输出似乎是正确的,但是当使用一些验证器时,总是返回错误:意外的令牌

如果我在验证器上手动输入JSON输出,它会工作!如果复制并粘贴,则会发生异常

要验证JSON,请执行以下操作:

您在文件的开头有一个

您应该保存没有BOM的脚本,因为这会导致输出无效

如果您查看开发人员工具中的确切响应,您将在json开始之前看到两个序列:


[{"descricao":"Amendoim"},{"descricao":"Cerveja"},{"descricao":"Peixe"}]

您应该在没有BOM的情况下保存脚本,因为这会导致输出的json无效。

您的json从表示UTF-8 BOM的三个字节开始

EF BB高炉


也许有些解析器不喜欢前三个字节

危险:您正在使用并且应该使用。您还容易受到现代API的攻击,因为它会使您更容易使用。一些JSON验证器只需要对象。尝试将json_encode与json_FORCE_object结合使用。更好的方法是将数组包装在一个对象中:$final_res=json_encodearray'result'=>jsonObj;@BogdanBurim的可能副本我不知道,但这是实际原因:-为了解决问题,我在记事本++上打开了php文件。在菜单格式>不带BOM的UTF-8上

[{"descricao":"Amendoim"},{"descricao":"Cerveja"},{"descricao":"Peixe"}]