Crate jfs [−] [src]
A simple JSON file store written in Rust. This is a port and drop-in replacement of the Node.js library json-file-store.
WARNING: Don't use it if you want to persist a large amount of objects. Use a real DB instead.
Installation
Depending on which serialization framework you like to use,
you have to enable it by setting the corresponding features
in Cargo.toml
.
By default rustc-serialize
is used. To enable support for serde
add the following to your configuration:
[dependencies.jfs]
version = "0.2"
features = ["serde", "serde_json"]
default-features = false
Example
extern crate jfs; extern crate rustc_serialize; use jfs::Store; #[derive(RustcEncodable,RustcDecodable)] struct Foo { foo: String } pub fn main() { let db = Store::new("data").unwrap(); let f = Foo { foo: "bar".to_owned() }; let id = db.save(&f).unwrap(); let obj = db.get::<Foo>(&id).unwrap(); db.delete(&id).unwrap(); }Run
You can also store all data in one single JSON-File:
let mut cfg = jfs::Config::default(); cfg.single = true; // false is default let db = jfs::Store::new_with_cfg("data",cfg);Run
If you like to pretty print the file content, set pretty
to true
and choose a number of whitespaces for the indention:
let mut cfg = jfs::Config::default(); cfg.pretty = true; // false is default cfg.indent = 4; // 2 is defaultRun
Structs
Config | |
Store |