3 stable releases

1.0.2 Jul 6, 2019

#2420 in Parser implementations

Download history 14/week @ 2024-09-21 5/week @ 2024-09-28

65 downloads per month

MIT license

14KB
343 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

~2.2–3MB
~54K SLoC