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 中使用
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