5 个版本 (3 个重大更改)
0.4.0 | 2022年3月26日 |
---|---|
0.3.2 | 2021年12月28日 |
0.3.1 | 2021年3月21日 |
0.2.0 | 2021年2月8日 |
0.1.0 | 2020年12月22日 |
#1923 in 编码
91KB
2K SLoC
nachricht-serde
为 nachricht 数据交换格式提供 Serde 绑定。
[dependencies]
nachricht-serde = "0.4.0"
使用示例
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, PartialEq, Debug)]
pub enum Species {
PrionailurusViverrinus,
LynxLynx,
FelisCatus,
}
#[derive(Serialize, Deserialize, PartialEq, Debug)]
pub struct Cat<'a> {
name: &'a str,
species: Species,
}
#[derive(Serialize, Deserialize, PartialEq, Debug)]
struct Message<'a> {
version: u32,
#[serde(borrow)]
cats: Vec<Cat<'a>>,
}
let msg = Message {
version: 1,
cats: vec![
Cat { name: "Jessica", species: Species::PrionailurusViverrinus },
Cat { name: "Wantan", species: Species::LynxLynx },
Cat { name: "Sphinx", species: Species::FelisCatus },
Cat { name: "Chandra", species: Species::PrionailurusViverrinus },
],
};
let bytes = nachricht_serde::to_bytes(&msg).unwrap();
依赖项
~110–340KB