[记]Rust toml序列与反序列化
依赖:
serde = { version = "1", features = ["derive"] } # You only need this if you want app persistence
toml = "0.5.9"
结构体:两个->
use serde::{Deserialize,Serialize}; #[derive(Deserialize,Serialize)] #[derive(Default)] pub struct AtCmdVec{ decrib:String, data:Vec<AtCmd> } #[derive(Deserialize,Serialize)] #[derive(Default)] pub struct AtCmd{ hex:bool, strs:String, btntext:String, iidx:usize, dealy:usize, }
测试代码部分:
mod test { use std::io::Read; use std::io::Write; use crate::AtCmdVec; use crate::AtCmd; #[test] fn write_to_file() { let ss = AtCmdVec{decrib:"22".to_string(), data:vec![AtCmd{hex:true,strs:"at".to_string(),btntext:"sss".to_string(),iidx:0,dealy:0} ,AtCmd{hex:true,strs:"at".to_string(),btntext:"sss".to_string(),iidx:1,dealy:0}]}; if let Ok(s)=toml::to_string(&ss){ println!("{}",s); if let Ok(mut file)=std::fs::File::create("tt.toml"){ file.write(s.as_bytes()).unwrap(); } } } #[test] fn read_from_file(){ if let Ok(mut file) = std::fs::File::open("tt.toml"){ let mut msg = String::new(); file.read_to_string(&mut msg).unwrap(); let ss:AtCmdVec =toml::from_str(&msg).unwrap(); println!("{:?}",ss.decrib); } } }
输出
1
running 1 test decrib = "22" [[data]] hex = true strs = "at" btntext = "sss" iidx = 0 dealy = 0 [[data]] hex = true strs = "at" btntext = "sss" iidx = 1 dealy = 0 test test::write_to_file ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.01s
2
running 1 test "22" test test::read_from_file ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
-------------====================分割线====================-------------
作者:戳人痛处
本博客link:https://www.cnblogs.com/hardfood/p/16867068.html
硬币,懂?
https://space.bilibili.com/68973181
分类:
笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!