百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

typetag

> 编程语言
开源

支持序列化和反序列化的 Serde 特性对象

1.5K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

支持序列化和反序列化的 Serde 特性对象

Typetag Serde 可序列化和反序列化的特性对象。

此 crate 提供了一种宏,用于无痛地序列化 &dyn Trait 特性对象,以及序列化和反序列化 Box<dyn Trait> 特性对象。

rust
fn process_event_from_clickfarm(json: &str) -> Result<()> {
    let event: Box<dyn WebEvent> = serde_json::from_str(json)?;
    overanalyze(event)?;
    Ok(())
}

介绍中声称这不会疼痛,但我会让你自己去判断。 法官。 首先在特征上贴上一个属性。

rust
#[typetag::serde(tag = "type")]
trait WebEvent {
    fn inspect(&self);
}

然后在所有这些 impl 块上添加类似的属性。

rust
#[typetag::serde]
impl WebEvent for PageLoad {
fn inspect(&self) {
println!("200 毫秒或更短");
}
}
#[typetag::serde]
impl WebEvent for Click {
fn inspect(&self) {
println!("广告之间的负空间: x={} y=

[](https://github.com/dtolnay/typetag)
[](https://crates.io/crates/typetag)
[](https://docs.rs/typetag)
[](https://github.com/dtolnay/typetag/actions?query=branch%3Amaster)
[dependencies]

Issues· 12 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言