将 json 对象分配给 CanvasJS 中的 javascript 变量
assign json object to javascript variable in CanvasJS
我正在尝试将 json 对象分配给变量。我不确定如何完成此操作。
这是我的 JSON 数组:
[{
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 213
}, {
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 433
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 321
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 43
}, {
"Date": "2020-02-12 03:30:57",
"sensorName": "sensor 1",
"sensorValue": 4321
}]
我想将 sensorValue 的值赋给变量 yValue。我该怎么做呢?
例如:对于 "sensorValue":433,yValue = 433
<script>
var sensor1 = <?php echo json_encode($json_sensor1, JSON_NUMERIC_CHECK); ?>;
var sensor2 = <?php echo json_encode($json_sensor2, JSON_NUMERIC_CHECK); ?>;
var yValue1 = sensor1.sensorValue;
var yValue2 = sensor2.sensorValue;
var xValue = sensor1.Date;
</script>
CanvasJS 接受数据点作为对象数组 [{x: xValue1, y: yValue1}, {x: xValue2, y: yValue2},...]。在将 JSON 传递给图表选项之前将其解析为这种格式应该可以正常工作。
var jsonData = [{
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 213
}, {
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 433
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 321
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 43
}, {
"Date": "2020-02-12 03:30:57",
"sensorName": "sensor 1",
"sensorValue": 4321
}];
var dps = [];
var chart = new CanvasJS.Chart("chartContainer", {
title:{
text: "Basic Column Chart"
},
data: [{
dataPoints: dps
}]
});
for(var i = 0; i < jsonData.length; i++) {
dps.push({ x: new Date(jsonData[i].Date), y: Number(jsonData[i].sensorValue)})
}
chart.render();
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 200px; width: 100%;"></div>
我正在尝试将 json 对象分配给变量。我不确定如何完成此操作。
这是我的 JSON 数组:
[{
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 213
}, {
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 433
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 321
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 43
}, {
"Date": "2020-02-12 03:30:57",
"sensorName": "sensor 1",
"sensorValue": 4321
}]
我想将 sensorValue 的值赋给变量 yValue。我该怎么做呢? 例如:对于 "sensorValue":433,yValue = 433
<script>
var sensor1 = <?php echo json_encode($json_sensor1, JSON_NUMERIC_CHECK); ?>;
var sensor2 = <?php echo json_encode($json_sensor2, JSON_NUMERIC_CHECK); ?>;
var yValue1 = sensor1.sensorValue;
var yValue2 = sensor2.sensorValue;
var xValue = sensor1.Date;
</script>
CanvasJS 接受数据点作为对象数组 [{x: xValue1, y: yValue1}, {x: xValue2, y: yValue2},...]。在将 JSON 传递给图表选项之前将其解析为这种格式应该可以正常工作。
var jsonData = [{
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 213
}, {
"Date": "2020-01-24 07:35:46",
"sensorName": "sensor 1",
"sensorValue": 433
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 321
}, {
"Date": "2020-02-10 06:03:36",
"sensorName": "sensor 1",
"sensorValue": 43
}, {
"Date": "2020-02-12 03:30:57",
"sensorName": "sensor 1",
"sensorValue": 4321
}];
var dps = [];
var chart = new CanvasJS.Chart("chartContainer", {
title:{
text: "Basic Column Chart"
},
data: [{
dataPoints: dps
}]
});
for(var i = 0; i < jsonData.length; i++) {
dps.push({ x: new Date(jsonData[i].Date), y: Number(jsonData[i].sensorValue)})
}
chart.render();
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 200px; width: 100%;"></div>