use serde::{Serialize, Deserialize};
use std::fs::File;
use std::io::prelude::*;
/// 定义一个结构体来表示YAML文件的数据
#[derive(Serialize, Deserialize)]
struct Person {
name: String,
age: u8,
address: Address,
}
#[derive(Serialize, Deserialize)]
struct Address {
street: String,
city: String,
state: String,
zip: String,
}
fn main() {
// 创建一个Person结构体实例
let person = Person {
name: "John".to_string(),
age: 30,
address: Address {
street: "123 Main St".to_string(),
city: "Anytown".to_string(),
state: "CA".to_string(),
zip: "12345".to_string(),
},
};
// 将Person结构体实例转换为YAML格式的字符串
let yaml = serde_yaml::to_string(&person).unwrap();
// 创建一个文件并打开它以进行写入
let mut file = File::create("person.yaml").expect("Unable to create file");
// 将YAML格式的字符串写入文件
file.write_all(yaml.as_bytes())
.expect("Unable to write to file");
}
rust写一个生成yaml文件
最新推荐文章于 2024-05-16 09:59:44 发布