在 Rust 中,可以使用 serde_toml 库来处理 TOML 文件,并且可以方便地进行类型转换。
首先,需要在 Cargo.toml 文件中添加 serde_toml 依赖:
[dependencies] serde_toml = "0.5" 然后,可以使用 serde_derive 宏来为结构体自动生成序列化和反序列化代码:
use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize)] struct Config { database: DatabaseConfig, } #[derive(Debug, Serialize, Deserialize)] struct DatabaseConfig { username: String, password: String, host: String, port: u16, } 接下来,可以使用 serde_toml::from_str 方法将 TOML 字符串转换为 Rust 结构体:
fn main() { let toml_str = r#" [database] username = "myuser" password = "mypassword" host = "localhost" port = 3306 "#; let config: Config = toml_str.parse().unwrap(); println!("{:?}", config); } 在这个例子中,我们将一个包含数据库配置信息的 TOML 字符串转换为了 Config 结构体。如果需要将 Rust 结构体转换回 TOML 字符串,可以使用 serde_toml::to_string 方法:
let config_str = toml::to_string(&config).unwrap(); println!("{}", config_str); 这样就可以方便地在 Rust 中进行 TOML 文件的操作和类型转换了。