我创建了一个php代码来搜索数据库(mySQL)的信息并“转换”为JSON。
JSON输出似乎是正确的,但是当使用一些验证器时,总是返回错误:Unexpected token
。
如果我在验证器上手动输入JSON输出,它就可以了!如果我复制并粘贴,则会发生异常。
验证JSON:http://devsa.url.ph/?cod=all
<?php
include('connectdb.php');
$something = $_GET['cod'];
$sqlcode = mysql_query("Select descricao from Produtos Where codigo='$something'");
$sqlcode2 = mysql_query("Select descricao from Produtos");
$jsonObj = array();
if ($something == 'all') {
while ($result = mysql_fetch_object($sqlcode2)) {
$jsonObj[] = $result;
}
} else {
while ($result = mysql_fetch_object($sqlcode)) {
$jsonObj[] = $result;
}
}
$final_res = json_encode($jsonObj);
echo $final_res;
?>
答案 0 :(得分:3)
您的文件开头有Byte Order Marks (BOM)。
您应该在没有BOM的情况下保存脚本,因为这会导致输出无效json。
如果您在确切的响应中查看开发人员工具,您将在json开始之前看到两个
序列:

[{"descricao":"Amendoim"},{"descricao":"Cerveja"},{"descricao":"Peixe"}]
您应该在没有BOM的情况下保存脚本,因为这会导致输出无效json。
答案 1 :(得分:1)