#structs #hashmaps #converting #conversion #value #string #string-string

map2struct

将字符串-字符串哈希映射转换为结构体的库

1 个不稳定版本

0.1.0 2024年4月14日

#1001算法

Apache-2.0

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 值。

以下验证步骤执行

  1. 检查是否所有字段都存在
  2. 检查是否存在额外的字段
  3. 检查类型转换

依赖项

~0.4–0.8MB
~19K SLoC