Печать произвольного проанализированного значения показывает, какая у вас структура:
let config: toml::Value = toml::from_str(&toml_string)?;
println!("{:?}", config)
Переформатированный вывод показывает, что у вас есть таблица с одним ключом entry
, представляющая собой массив таблиц с ключами foo
и bar
:
Table({
"entry": Array([
Table({
"bar": String("b0"),
"foo": String("a0")
}),
Table({
"bar": String("b1"),
"foo": String("a1")
})
])
})
При десериализации необходимо сопоставить эту структуру:
#[derive(Debug, Deserialize)]
struct Outer {
entry: Vec<Entry>,
}
#[derive(Debug, Deserialize)]
struct Entry {
foo: String,
bar: String,
}
let config: Outer = toml::from_str(&toml_string)?;