取以下 TOML 数据:
[[items]]
foo = 10
bar = 100
[[items]]
foo = 12
bar = 144
以及以下锈代码:
use serde_derive::Deserialize;
use toml::from_str;
use toml::value::Table;
#[derive(Deserialize)]
struct Item {
foo: String,
bar: String
}
fn main() {
let items_string: &str = "[[items]]\nfoo = 10\nbar = 100\n\n[[items]]\nfoo = 12\nbar = 144\n";
let items_table: Table = from_str(items_string).unwrap();
let items: Vec<Item> = items_table["items"].as_array().unwrap().to_vec();
// Uncomment this line to print the table
// println!("{:?}", items_table);
}
正如您自己看到的那样,该程序无法编译,并返回此错误:
预期结构
Item
,找到枚举toml::value::Value
我理解它的含义,但我不知道如何解决这个问题并首先实现我想做的事情:将父表的子数组转换为结构数组而不是表数组。