简体   繁体   English

JSON 格式化列

[英]JSON formatting Columns

I'm attempting to output a MySQL table column into a JSON format.我正在尝试将 MySQL 表列输出为 JSON 格式。 After my query, in PHP I am doing this:在我的查询之后,在 PHP 中我这样做:

$json_data=array();
while ($m = mysqli_fetch_array($query))
{
    $json_data[] = array('name' => 'Model', 'data' => $m[1]);
}

print json_encode($json_data, JSON_NUMERIC_CHECK);

$m[1] is simply a column in the table with numeric values. $m[1]只是表中带有数值的列。 My attempt yields a result like this:我的尝试产生了这样的结果:

[{"name":"Model","data":0},{"name":"Model","data":58},{"name":"Model","data":0},
{"name":"Model","data":0},{"name":"Model","data":84},{"name":"Model","data":15},
{"name":"Model","data":0},{"name":"Model","data":12},{"name":"Model","data":0},
{"name":"Model","data":102},{"name":"Model","data":0}]

However, I need the format to look like this (note that I don't want the surrounding [ and ] at the beginning/end as well):但是,我需要看起来像这样的格式(请注意,我也不希望在开头/结尾处使用周围的[] ):

{"name":"Model","data":[0, 58, 0, 0, 84, 15, 0, 12, 0, 102, 0]}

Does anyone know how to achieve this?有谁知道如何实现这一目标?

Use something like this使用这样的东西

$json_data=array();
$json_data['name']='Model';
while ($m = mysqli_fetch_array($query))
{
    $json_data['data'][] = $m[1];
}

print json_encode($json_data, JSON_NUMERIC_CHECK);

This should work这应该工作

while ($m = mysqli_fetch_array($query))
{
    $json_data[] = $m[1];
}

print json_encode(['name'=>'Model', 'data'=>$json_data], JSON_NUMERIC_CHECK);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM