#view #serde #derive #serde-default

serde_view_macros

序列化数据视图

5个版本

0.1.6 2023年4月27日
0.1.5 2023年4月21日
0.1.3 2023年4月18日
0.1.2 2023年4月18日
0.1.0 2023年4月18日

#22#serde-default


serde_view 中使用

Apache-2.0

6KB
101

序列化数据视图

在序列化过程中动态选择哪些字段将被包含。

示例

use serde_view::View;
use serde_view::ViewFields;

#[derive(Clone, Debug, serde::Deserialize, serde::Serialize, View)]
pub struct MyStruct {
    id: String,
    #[serde(default)]
    name: String,
    #[serde(default)]
    tags: Vec<String>,
}

fn serialize(my: &MyStruct) -> Result<serde_json::Value, serde_json::Error> {
    serde_json::to_value(my.as_view().with_fields([
       <MyStruct as View>::Fields::Id,
       <MyStruct as View>::Fields::Name,
   ]).unwrap())
}

依赖项

~1.2–1.7MB
~32K SLoC