Как десериализовать структуру через ее собственный «новый» конструктор?

Я хочу десериализовать приведенную ниже структуру, но используя конструктор new для проверки десериализованных полей:

#[derive(Deserialize)]
pub struct Timestamp {
    values: Vec<u32>,
}

impl Timestamp {
    pub fn new(values: Vec<u32>) -> Timestamp {
        // some quality check
        Timestamp { values: values }
    }
}

Есть ли простой способ сделать это? Я хотел написать собственный Deserializer, но я надеялся, что будет более простой и менее многословный способ сделать это.


person ced73    schedule 21.06.2019    source источник
comment
@SvenMarnach вау, обычно я не пропускаю такие важные вещи. Спасибо!   -  person Shepmaster    schedule 21.06.2019
comment
К вашему вопросу применен дубликат.   -  person Shepmaster    schedule 21.06.2019