3 stable releases

✓ Uses Rust 2018 edition

1.0.2 Jul 6, 2019

#284 in Data structures

MIT license

13KB
336 lines

json-parser

JSON tokenizer and parser. JSON format supports following types:

  • Number, translates to Rust f68
  • String, translates to Rust owned String
  • Null, doesnt have a direct translation in Rust, indicates absence of value
  • Array, roughly tranlates to Vec<T>, where T is one of the listed types
  • Object, roughly translates to HashMap<String, T>, where T is one of the listed types

JSON value

is defined as follows:

pub enum Json {
 Null,
 Bool(bool),
 Number(f64),
 String(String),
 Array(Vec<Box<Json>>),
 Object(HashMap<String, Box<Json>>),
}

This enum implements FromStr trait and therefore can be used as follows:

let value: Json = json_string.parse::<Json>()?;

install

Add to your Cargo.toml

json-parser = "1"

Dependencies

~1.5MB
~42K SLoC