35 个版本
0.2.0-beta.0 | 2024年7月28日 |
---|---|
0.1.37 | 2024年1月25日 |
0.1.35 | 2023年9月1日 |
0.1.33 | 2023年7月22日 |
0.1.18 | 2020年7月20日 |
#111 在 编码
18,304 每月下载量
用于 43 个 crate (32 个直接使用)
120KB
3.5K SLoC
nanoserde
移除了所有依赖的 makepad-tinyserde 的分支。构建树中不再包含 syn、proc_macro2 或 quote!
> cargo tree
nanoserde v0.1.0 (/../nanoserde)
└── nanoserde-derive v0.1.0 (/../nanoserde/derive)
示例
use nanoserde::{DeJson, SerJson};
#[derive(Clone, Debug, Default, DeJson, SerJson)]
pub struct Property {
pub name: String,
#[nserde(default)]
pub value: String,
#[nserde(rename = "type")]
pub ty: String,
}
更多示例,请参阅 tests
特性支持矩阵
特性 | json | bin | ron | toml |
---|---|---|---|---|
serialization | yes | yes | yes | no |
deserialization | yes | yes | yes | no |
容器:Struct | yes | yes | yes | no |
容器:Tuple Struct | no | yes | yes | no |
容器:枚举 | yes | yes | yes | no |
字段: std::collections::HashMap |
yes | yes | yes | no |
字段: std::vec::Vec |
yes | yes | yes | no |
字段: Option |
yes | yes | yes | no |
字段: i*/ |
yes | yes | yes | no |
字段属性: #[nserde(default)] |
yes | no | yes | no |
字段属性: #[nserde(rename = "")] |
yes | yes | yes | no |
字段属性: #[nserde(proxy = "")] |
no | yes | no | no |
容器属性: #[nserde(default)] |
yes | no | yes | no |
容器属性: #[nserde(rename = "")] |
yes | yes | yes | no |
容器属性: #[nserde(proxy = "")] |
yes | yes | no | no |
容器属性: #[nserde(transparent)] |
yes | no | no | no |
库功能
默认启用所有功能。要仅启用特定格式,使用以下方式导入 nanoserde:
nanoserde = { version = "*", default-features = false, features = ["std", "{format feature name}"] }
在你的 Cargo.toml
中导入,并添加以下一个或多个库功能
格式 | 功能名称 |
---|---|
二进制 | binary |
JSON | json |
RON | ron |
TOML | toml |