Я получаю поток данных датчиков, которые мне нужно агрегировать и выполнять базовую статистику (среднее, максимальное, минимальное и т. д.). Существует несколько значений, но данные датчиков могут быть несовместимыми, а некоторые значения могут отсутствовать.
Из чтения книги кажется, что Option
следует использовать, когда значения luminosity
или color
отсутствуют, но я смущен этим.
Это пример данных моего датчика:
[
{
"sensor": "left",
"luminosity": "50",
"color": "(255,0,0)"
},
{
"sensor": "left",
"color": "#0f0"
},
{
"sensor": "right",
"luminosity": "20"
},
{
"sensor": "right",
"luminosity": "40",
"color": "(255,0,0)"
},
{
"sensor": "left",
"luminosity": "30"
},
{
"sensor": "top",
"luminosity": "10"
},
{
"sensor": "right",
"color": "(0,0,0)"
}
]
Данные каждого датчика будут храниться в экземпляре следующей структуры:
struct Data {
pub luminosity: Vec<String>,
pub color: Vec<String>,
}
Я хочу перебрать вышеуказанный объект JSON, сопоставить датчик с правильным экземпляром структуры («правильные» датчики с «правильной» структурой датчика) и поместить содержимое каждого наблюдения JSON в векторы (внутри каждого экземпляра структуры).
Отсутствующие значения должны быть записаны, чтобы для каждого «наблюдения» было одно действие нажатия для каждого вектора в структуре для соответствующего экземпляра структуры датчика.