使用php将数组格式化为JSON_ENCODE

时间:2017-03-13 00:35:24

标签: php

我正在使用php将数组数据格式化为if(str.localeCompare(controlPathDatabaseLoad) == 0) { console.log("controlPathDatabaseLoad"); mongoDbHandleLoad(); res.setHeader('Content-Type', 'application/json'); res.writeHead(res.statusCode); res.write(JSON.stringify(testJSON)); res.end(); } 。这个数组数据来自我的数据库。我已经描述了我在这里的做法

Json_encode

上面的代码给出了以下输出

$pens=$db->fetchAllPens();  //This fetches the list of pens
$a = array();
$response = array();

$response["success"]="true";

while ($pen = mysqli_fetch_array($pens)) {    
    $response["label"]["id"]=$pen["ID"];
    $response["label"]["name"] = $pen["name"];

    array_push($a,$response);
}

    echo json_encode($a,JSON_PRETTY_PRINT);

但我希望输出低于

[
{
    "success": "true",
    "label": {
        "id": "1",
        "name": "nimble"
    }
},
{
    "success": "true",
    "label": {
        "id": "2",
        "name": "lopsel"
    }
}
]

请有办法达到预期的效果。

3 个答案:

答案 0 :(得分:2)

$pens = $db->fetchAllPens();  //This fetches the list of pens
$response = array('success' => true, 'label' => array());

while ($pen = mysqli_fetch_array($pens)) {    
    $response['label'][] = array('id'   => $pen['ID'],
                                 'name' => $pen['name']
                                );
}

echo json_encode($response,JSON_PRETTY_PRINT);

答案 1 :(得分:1)

您在每个循环周期中写入错误的变量。

而是执行以下操作:

while ($pen = mysqli_fetch_array($pens)) {
  $data[] = [
    'id' => $pen['ID'],
    'name' => $pen['Name'],
  ];
}

$response['label'] = $data;

echo json_encode($response,JSON_PRETTY_PRINT);

答案 2 :(得分:1)

首先将status直接放入$a数组。

然后将行数据放入$a['label'][],即$a['label']数组的新出现

$pens=$db->fetchAllPens();  //This fetches the list of pens
$a = array();

$a["success"] = "true";

while ($pen = mysqli_fetch_array($pens)) {    
    $response = array();

    $response["id"]     = $pen["ID"];
    $response["name"]   = $pen["name"];

    $a['label'][]       = $response;
}
echo json_encode($a,JSON_PRETTY_PRINT);

结果:

{
    "success": "true",
    "label": [
        {
            "id": 1,
            "name": "fred"
        },
        {
            "id": 2,
            "name": "Bill"
        }
    ]
}