2个版本
使用旧的Rust 2015
0.1.1 | 2018年7月16日 |
---|---|
0.1.0 | 2018年7月13日 |
在#序列化/反序列化中排名#53
67KB
2K SLoC
sion-rs
SION 是Rust中的序列化/反序列化实现。
如何使用
将以下内容添加到你的 Cargo.toml
[dependencies]
serde = "1.0"
serde_derive = "1.0"
sion-rs = "0.1"
然后你可以使用serde的 Serialize
/Deserialize
来处理SION数据。
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate sion_rs;
use sion_rs::{to_string, from_str};
fn main() {
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
struct Person {
name: String,
age: u32,
}
let person = Person {
name: "dankogai".into(),
age: 48,
};
let expected = r#"["name":"dankogai","age":48]"#;
assert_eq!(to_string(&person).unwrap(), expected);
let deserialized = from_str::<Person>(expected).unwrap();
assert_eq!(deserialized, person);
}
许可证
根据以下之一许可
- Apache许可证版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由你选择。
未来工作
- 正确处理
.Date
(目前sion-rs
将任何.Date
视为一个单独的浮点数,导致结构塌陷) - 基准测试和优化
- 支持除了
str
以外的其他输入/输出格式 - 编写文档
依赖项
~1.2–1.8MB
~37K SLoC