所以我正在用 Rust 编写一个程序(我对它很陌生),它读取一个 json 配置文件并根据输入做一些事情。我设法使用serde_json成功解析了 json 。我想让用户做的下一件事是能够指定一些高级选项,但我不知道如何解析输入。默认的 json 看起来像这样:
{
value: true
}
将其解析为这样的结构:
#[derive(Deserialize)]
pub struct Config {
value: bool
}
我将如何为用户添加能够输入 abool
或 an的选项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。