Java在Serde中的瞬态等效于什么?

托马斯·布劳恩

我有兴趣制作一个变量,而不是使用Java之类的关键字自动序列化(例如,通过Serde)transient,而是在Rust中。我需要这个来存储密码。当然,我可以在序列化到磁盘后手动清除数据,但是我想知道是否有更好,更自动化的选项。

E_net4_is_being_impersonated

您可以使用以下#[serde(skip)]属性:

use serde::{Deserialize, Serialize}; // 1.0.88

#[derive(Deserialize, Serialize)]
struct MyStruct {
    field1: i32, // this will be (de)serialized
    #[serde(skip)]
    field2: i32, // this will be skipped
}

如果是类型需要序列化,这是一个好主意,陪#[serde(skip)]一个#[serde(default)](或#[serde(default = "fn_name")])属性。Serde对已跳过的字段进行反序列化,就好像#[serde(default)]是隐式添加了a一样,但是如果您明确指出此值的来源,则对于阅读您的代码的人来说更清楚。

看到:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章