Skip to content

willemclarke/rson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON scanner & parser in rust

Trying to get a better understanding of scanning & parsing in general.

  1. First takes a string input and produces a Vec<Token> of our enum Token {...} type
  2. Given a list of tokens, call the parse fn and produce a enum JValue {...}

The following input: String::from("{\"key\": [\"value1\", \"value2\"], \"flag\": true, \"nullable\": null, \"number\": 12.46, \"nested\": {\"nested_key\": []}}")

Produces:

Ok(JObject({
    "nested": JObject({"nested_key": JArray([])}),
    "number": JNumber(12.46),
    "flag": JBool(true),
    "key": JArray([JString("value1"), JString("value2")]),
    "nullable": JNull
}))

Running against the sample.json file with hyperfine target/release/rson: image

References:

About

json scanner & parser

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages