如何使用 serde_json 序列化 std::env::vars()
以下工作,但我觉得它可以做得更好:
let mut vars = std::collections::HashMap::new();
for (key, value) in std::env::vars() {
vars.insert(key, value);
}
json!(vars)
如何使用 serde_json 序列化 std::env::vars()
以下工作,但我觉得它可以做得更好:
let mut vars = std::collections::HashMap::new();
for (key, value) in std::env::vars() {
vars.insert(key, value);
}
json!(vars)
返回两个元素元组的迭代器可以被collect
编入一个新的HashMap
. std::env::vars
返回这样一个迭代器(称为Vars
),这样就可以在这里工作:
let vars: HashMap<String, String> = std::env::vars().collect();
json!(vars)
除此之外,如果不Serialize
直接为Vars
. 由于Vars
是标准库类型,并且Serialize
特征来自外部板条箱,因此您不能这样做。