#binary #document #json #binary-data #json-object

gzbbinarydoc

这是一个类似于 JSON 的对象结构,用于组织数据。支持的数据类型有二进制数据(Vec)、字符串、i64、f64、null、Vec self 和 hashmap。文档可以从 vec 解析出来。

1 个不稳定版本

0.1.0 2022年12月8日

#2993解析器实现

GPL-3.0 许可证

30KB
784

gzbBinaryDoc

快速二进制文档

这是一个非常快速的二进制文档结构,用于保存支持的数据。

特性

  • 支持的数据类型:f64、i64、bool、vec、hashmap、null、vec
  • 读取器速度快且不复制二进制数据

use gzbbinarydoc::DocValue;

fn main(){

    let mut person = DocValue::object();

    person.insert("name","akku");
    person.insert("bin",vec![1,2,3]);
    person.insert("age",24);
    person.insert("avg score",12.65);
    person.insert(&"king",true);
    person.insert("network",());//null type

    let mut scores = DocValue::vec();
    scores.push(12.5);
    scores.push(15);
    scores.push(());
    scores.push(false);

    let mut game_match = DocValue::object();
    game_match.insert("scores",scores);

    let mut game = DocValue::object();
    game.insert("match", game_match);
    game.insert("game","cricket");

    person.insert("sports",game);

    println!("{:?}",person);

    let bin = person.write();
    let rebuild = DocValue::read(&bin);

    println!("rebuild : {:#?}",rebuild);


}

依赖

~115KB