Итак, я пишу программу на Rust (в которой я новичок), которая читает файл конфигурации json и делает некоторые вещи в зависимости от ввода. Мне удалось успешно проанализировать json с помощью serde_json. Следующее, что я хочу разрешить пользователю, - это указать некоторые дополнительные параметры, но я не знаю, как анализировать ввод. По умолчанию json будет выглядеть примерно так:
{
value: true
}
Анализируя это, можно получить такую структуру:
#[derive(Deserialize)]
pub struct Config {
value: bool
}
Как мне добавить параметр, позволяющий пользователю вводить bool
или object
как таковые:
{
value: {
avanced_value: true
}
}
Я пробовал использовать такой enum
, но кажется, что bool
нельзя использовать в перечислении.
#[derive(Deserialize)]
pub struct Config {
value: ValueEnum
}
#[derive(Deserialize)]
pub enum ValueEnum {
bool,
Config(ValueConfig),
}
#[derive(Deserialize)]
pub struct ValueConfig {
advanced_value: bool
}
Я упустил что-то очевидное или мне нужно реструктурировать входной json? Tnx заранее.