jsonencode php没有';t返回有效的json


jsonencode php doesn't return valid json?

我写了这个

if($stmt->execute()){
    $user = $stmt->get_result();
    while ($obj = $user->fetch_object()) {
         echo json_encode($obj) . ",";
    }
}

它返回

{"tabId":1,"tabName":"Main","uId":"1"},{"tabId":2,"tabName":"Photography","uId":"1"},

如何删除,使其成为有效的json?

每次循环时,都会生成一个有效的JSON文本(后面跟着一个逗号)。

当你把它们连接在一起时(这是每次你四处走动时回声的效果),结果是无效的。

将值放入数组中。最后只调用json_encode

我的PHP相当生疏,但我认为这可以完成任务。

$data = Array();
if($stmt->execute()){
    $user = $stmt->get_result();
    while ($obj = $user->fetch_object()) {
         $data[] = $obj;
    }
}
echo json_encode($data);