转换PHP多维关联数组json



我有一个mysql表的多维关联数组,如下所示:

$i = 0;
$data = array();
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
$arr = array();
$arr['id'] = $i;
$arr['code'] = $row['code'];
$arr['name'] = $row['name'];
$data[$i] = $arr;
$i++;
}

我将通过这个脚本将这些数组转换为json

var data  = <?php echo json_encode($data, JSON_PRETTY_PRINT) ?>;

但是没有响应,所以我尝试使用这个脚本

var data  = <?php echo json_encode($data) ?>;

这两个脚本都没有给出正确的结果

所以我用下面的脚本尝试了其他方法来生成一个字符串变量,这将进一步将它转换为json

$i = 0;
$data = '[';
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
if ($data != "[") {$data .= ",";}
$data .= '{"id":"'  . $i . '",';
$data .= '"code":"' . $row["code"] . '",';
$data .= '"name":"' . $row["name"] . '"}'; 
$i++;
}
$data .="]";

然后我用这些脚本更改为json:

var data = <?php echo $data ?>;

结果仍然是错误的

有什么改进的建议给我,谢谢

尝试在返回json数组之前提供标题。就在编码json之前添加部分header('Content-Type: application/json');这样你可以将$data作为json传递给浏览器

header('Content-Type: application/json');
echo json_encode(array('success' => TRUE, 'data' => $data));

相关内容

  • 没有找到相关文章

最新更新