php - 作为报价收到的 JSON(带有 ""标记)

标签 php json

我一直在引号内从我的 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; 的相同代码在控制台中给出了以下内容:

  • 数据的空白
  • 控制台错误:

ReferenceError: newData is not defined

关于php - 作为报价收到的 JSON(带有 ""标记),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33862990/

相关文章:

php - 使用 Omnipay 进行密码支付

java - 限制所有类的 Jackson 序列化/反序列化深度

json - 为什么我的 v-for 不循环? VUE.JS 与 JSON

php - "https://packagist.org/packages.json"文件无法下载

javascript - jquery 对话框小部件未传递我的表单值

php composer - 我的带有命名空间和类的包

php - MySQL SELECT 使用 PHP 变量给出的列名

ios - 想要创建一个json并将其发送到url

android - 使用 retrofit 2.0 解析嵌套的 json

php - 如何在php mysql中离线更新用户状态