|0.1.22||May 12, 2023|
#846 in Parser implementations
89 downloads per month
Used in chiselj
Another JSON Parser?
The Chisel JSON parser aims to be a relatively simple DOM and SAX parser for JSON, that does
not include all the machinery required to support explicit serialisation from, and
enums within Rust.
It's a simple little parser that is intended to allow you to choose how you want to parse a lump of cursed JSON, and then either build/transform a DOM into a richer AST structure, or alternatively just cherry-pick the useful bits of the payload via closures which are called in response to SAX parsing events.
(Because let's face it, JSON payloads usually come burdened with a whole load of unnecessary crap that you'll never use).
Crate Feature Flags
There currently defined features within the crate are as follows:
||Should numbers be parsed separately as
There are several examples provided as part of the source:
|distinct_pointers||Extract all distinct JSON pointers using the SAX parser|
|distinct_object_pointers||Extract all object JSON pointers using the SAX parser|
Build & Test
In order to build locally you can just use the standard
cargo build command and associated variants,
however there is also a supplementary Makefile.toml included in the source if you prefer to use
To regenerate the README.md file as you build - you should either use:
cargo readme > README.md
There are a number of benchmarks included based on the most excellent
criterion within the source, which can be run using either the supplied
benchmark.sh script, or alternatively by using the associated
cargo make targets.