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

gzbbinarydoc

this is a json like object structure to organize data.supported data types are binary(Vec<u8>),string,i64,f64,null,Vec<self> and hashmap<string,self>. the document can be parsed from and to a vec<u8>.

1 unstable release

0.1.0 Dec 8, 2022

#62 in #json-object

GPL-3.0 license

30KB
784 lines

gzbBinaryDoc

Fast Binary Document

this is a very fast binary document structure to save supported data.

features

  • supported data types f64,i64,bool,vec,hashmap<String,DocValue>,null,vec
  • reader is fast and does not copy binary data

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


}

Dependencies

~115KB