.iter()
.filter_map(|log| {
log.trim()
.strip_prefix(prefix)
.and_then(|v| serde_json::from_str(v).expect("Couldn't parse"))
})
.collect()
Можно как то получше сделать? если лог начинается с определенного префикса, значит можно его десериализировать
filter_map.map не удобнее?
вместо and_then?
а как сделать так что-бы возвращались только отпаршеные значения, а если были ошибки то просто писалось в лог, что такая то дата не спарсилась .logs .iter() .filter_map(|log| log.trim().strip_prefix(prefix)) .map(|v| { serde_json::from_str(v).unwrap_or_else(|e| tracing::error!("Couldn't parse: {}", e)) }) .collect() так не получается
у тебя там надо второй тоже тогда filter_map и для ошибок писать в лог и возвращать None
Обсуждают сегодня