1 个不稳定版本
0.1.0 | 2024年4月14日 |
---|
#1001 在 算法 中
5KB
简单地将哈希映射转换为结构体的Crate
直接将 HashMap<String, String>
值转换为结构体,每个字段可选进行类型转换。
提供了一个主要的特性和名为 Map2Struct
的派生宏。
示例
use std::collections::HashMap;
use map2struct::Map2Struct;
#[derive(Map2Struct)]
struct Person {
name: String,
age: u32,
}
let mut map = HashMap::new();
map.insert("name".to_string(), "John".to_string());
map.insert("age".to_string(), "30".to_string());
let person = Person::from_map(map).expect("Parsing failed");
assert_eq!(person.name, "John");
assert_eq!(person.age, 30);
字段使用 .parse
方法解析 String
值。
以下验证步骤执行
- 检查是否所有字段都存在
- 检查是否存在额外的字段
- 检查类型转换
依赖项
~0.4–0.8MB
~19K SLoC