如何更改JSON数组的字段名称?

时间:2014-10-22 12:35:49

标签: php mysql json

在我的数据库中,我有一个名为" sensors"的表,它有3个字段:NodeID字段,SensorID字段和Variable字段。我想选择具有特定NodeID(例如4)的所有传感器,并将它们呈现在带有SensorID的变量对的JSON格式数组中。这是我使用的代码:

$query = "SELECT SensorID,Variable FROM sensors WHERE SensorID=4;
$result = mysql_query($query, $con) or die('query not made');

while ($row = mysql_fetch_assoc($result)) {
    $sensors[] = $row;
}

echo json_encode($sensors);

工作正常。但是,创建的数组具有以下格式:

[
 { "SensorID": ..., "Variable": ... },
 { "SensorID": ..., "Variable": ... },
 ...
]

但我需要它有另一个:

[
 { "label": ..., "value": ... },
 { "label": ..., "value": ... },
 ...
]

换句话说,我需要维护第一个数组的数据,但是要更改字段名称。 那么,我怎样才能改变上面的PHP代码来实现呢?

非常感谢!

1 个答案:

答案 0 :(得分:1)

最简单的方法是更改​​您的查询:

$query = "SELECT SensorID As label, Variable AS value FROM sensors WHERE SensorID=4;"

如果出于上述原因,上述情况不适合的另一种选择:

while ($row = mysql_fetch_assoc($result)) {
    $sensors[] = array(
        'label' => $row['SensorId'],
        'value' => $row['Variable']
    );
}