2个版本

使用旧的Rust 2015

0.1.1 2018年7月16日
0.1.0 2018年7月13日

#序列化/反序列化中排名#53

MIT/Apache

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);
}

许可证

根据以下之一许可

由你选择。

未来工作

  • 正确处理 .Date (目前 sion-rs 将任何 .Date 视为一个单独的浮点数,导致结构塌陷)
  • 基准测试和优化
  • 支持除了 str 以外的其他输入/输出格式
  • 编写文档

依赖项

~1.2–1.8MB
~37K SLoC