将dicts数组转换为JSON文件并使用

2024-04-24 08:04:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读取4个传感器的读数。我得到这样一个数组:

[{"value":0.162512,"number":0,"channel":0},
 {"value":0.027835,"number":1,"channel":1},
 {"value":0.08361,"number":2,"channel":2},
 {"value":0.295788,"number":3,"channel":3},
 {"value":0.137746,"number":4,"channel":0},
 {"value":0.009403,"number":5,"channel":1},
 {"value":0.089616,"number":6,"channel":2},
 {"value":0.310242,"number":7,"channel":3},
 {"value":0.109047,"number":8,"channel":0},
 ...
 {"value":0.085652,"number":28,"channel":0},
 {"value":0.01359,"number":29,"channel":1},
 {"value":0.105441,"number":30,"channel":2},
 {"value":0.32407,"number":31,"channel":3}]

我需要格式化它并将其转换成一个JSON对象,我猜通过阅读这里。然后我将使用flot绘制一个图。这就是目标。你知道吗

我要一个线图,显示四个传感器的每个读数。如果这有助于我前进的方向,我最终会在Python中使用它。你知道吗

我不知道我在做什么,所以任何方向都将不胜感激。你知道吗


Tags: 对象jsonnumber目标valuechannel绘制传感器
1条回答
网友
1楼 · 发布于 2024-04-24 08:04:21

没有线索不是一个好的起点。。。请参阅flotdocumentationexamples开始。你知道吗

这里有一个对象数组。(从外观上看已经是JSON了。如果它仍然在python端,那么将它作为一个字符串放入javascript中并对其调用JSON.parse(),它已经是有效的JSON了。)

您需要的是一个数组(dataseries)数组(datapoints)。像这样的

[
    [ // dataseries for channel 0
        [0, 0.162515],
        [4, 0.137746],
        ...
    ],
    [ // dataseries for channel 1
        [1, 0.027835],
        [5, 0.009403],
        ...
    ],
    ...
]

要进行转换,可以在原始数组上循环,并使用如下方式将数据点放入正确的数据序列中:

var dataAsArrays = [
    [], [], [], [] // one empty array for each dataseries / channel
];
$.each(dataAsObjects, function (index, item) {
    dataAsArrays[item.channel].push([item.number, item.value]);
});

请参阅fiddle以获取上述代码的工作示例。你知道吗

相关问题 更多 >