90 个版本
0.0.117 | 2024 年 4 月 20 日 |
---|---|
0.0.108 | 2024 年 3 月 30 日 |
0.0.94 | 2023 年 12 月 12 日 |
0.0.91 | 2023 年 11 月 13 日 |
0.0.37 | 2022 年 5 月 27 日 |
#2229 in 编码
57 个月下载量
在 2 crates 中使用
1MB
27K SLoC
musli-json
适用于网络和通常浏览器通信的 Müsli JSON 支持。
JSON 编码完全稳定升级
- ✔ 如果字段被标记为
#[musli(default)]
,则可以容忍缺失的字段。 - ✔ 可以跳过未知字段。
use musli::{Encode, Decode};
#[derive(Debug, PartialEq, Encode, Decode)]
struct Version1 {
name: String,
}
#[derive(Debug, PartialEq, Encode, Decode)]
struct Version2 {
name: String,
#[musli(default)]
age: Option<u32>,
}
let version2 = musli_json::to_vec(&Version2 {
name: String::from("Aristotle"),
age: Some(62),
})?;
let version1: Version1 = musli_json::from_slice(version2.as_slice())?;
assert_eq!(version1, Version1 {
name: String::from("Aristotle"),
});
依赖项
~1.6–2.2MB
~43K SLoC