php echo json_encode from DB entries -> 获取奇怪的格式。如何获得正确的 JSON

标签 php mysql json

此时我得到以下 JSON:

["1Sales & Consulting","2Pyments","3Investing","4Financing","5Cross Functional"]

但我想要一个合适的 JSON,例如:

[{"id":1, "name": "Sales & Consulting"}{"id": 2, "name": "Pyments"}{"id": 3, "Investing"}{"id": 4, "name": "Financing"}{"id": 5, "name": "Cross"}] 

我用来生成第一个输出的代码是:

<?php
define('servername','localhost');
define('username','root');
define('password','');
define('dbname','integration');
// Create connection
$conn = new mysqli(servername, username, password, dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, name FROM capability_level1";
$result = $conn->query($sql);
$test = array();
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $test[] = $row["id"] . $row["name"];
    }
    echo json_encode($test);
} else {
    echo json_encode("0 results");
}
$conn->close();
?>

我需要改变什么?这个 echo 需要在第二步传递给 ajax

最佳答案

换行

while($row = $result->fetch_assoc()) {
    $test[] = $row["id"] . $row["name"];
}

while($row = $result->fetch_assoc()) {
    $test[] = array(
         'id' => $row["id"],
         'name' => $row["name"]
    );
}

希望这对您有所帮助。

关于php echo json_encode from DB entries -> 获取奇怪的格式。如何获得正确的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50854884/

相关文章:

php - 在 CREATE TABLE 语句中转义 SQL 数据类型

php - symfony2 的 sfguard 包

json - 如何将服务器数据传递/解析到 WatchKit 表行中的对象?

php - Laravel,在 Eloquent 语法中应用 where 之后 with

php - 在php中显示相关表中的数据

javascript - 如何用 Jasmine 测试这个 Javascript

javascript - 将复杂的 Javascript 数组发送到 ASP.NET Controller 方法

php - php中的周问题

javascript - fullcalendar.io 使用 PHP/MySQL 渲染事件?

php - 想要使用 MySQL group_concat 将两行合并为一行