我一直从我的web服务接收json,在引号内,如下所示:

"[{"id":"1","nombre":"Cecilia","correo":"csoto@ts.edu.mx","telefono":"5529964"},{"id":"2","nombre":"Romero","correo":"","telefono":"5435432"},{"id":"3","nombre":"nick","correo":"carlos@mail.com","telefono":"12345"}]"

注意括号前的“”我不知道为什么。
我正在使用jacwright的restserver(https://github.com/jacwright/RestServer)来实现以下功能:
public function getUsers()
{
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "estudiantes";

    // Create connection
    $array = array();

    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT id, nombre, correo, telefono FROM estudiante";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {

            $res = array("id" => $row["id"], "nombre" => $row["nombre"], "telefono" => $row["telefono"], "correo" => $row["correo"]);
            array_push($array, $res);
            //echo "id: " . $row["id"]. " - Name: " . $row["nombre"]. " " . $row["correo"]. "<br>";
        }
    }

    $conn->close();

    return json_encode($array)  ;
}

有人能理解为什么它总是加上引号吗?

最佳答案

只是一个模拟您的情况的快速示例,使用ECHO返回JSON编码的数组:
JS公司:

$.get('json.php', function(data) {
  console.log(data);
  if (data) {
    //Check the console, everything is working like charm
    newData = $.parseJSON(data);
    console.log(data);
    console.log('--------------' + 'Elements count:' + newData.length);
    console.log('--------------' + newData);
  }
});

json.php文件:
<?php
    $myArr = array(
        array("id"=>"1","nombre"=>"Cecilia","correo"=>"csoto@ts.edu.mx","telefono"=>"5529964"),
        array("id"=>"2","nombre"=>"Romero","correo"=>"","telefono"=>"5435432"),
        array("id"=>"3","nombre"=>"nick","correo"=>"carlos@mail.com","telefono"=>"12345")
    );
    $jsonData = json_encode($myArr);
    echo $jsonData;
?>

在JSON.PHP中,使用了return $jsonData;而不是echo $jsonData;的上述代码,它在控制台中给出了以下内容:
对于data
控制台错误:
referenceerror:未定义newdata

10-07 19:44
查看更多