4 releases (2 breaking)
0.3.1 | Mar 28, 2024 |
---|---|
0.3.0 | Feb 29, 2024 |
0.2.0 | Jan 15, 2024 |
0.1.0 | Jan 10, 2024 |
#1371 in Parser implementations
Used in 2 crates
230KB
4.5K
SLoC
rsonpath-syntax
– JSONPath parser
Complete, fast, and fully spec-compliant JSONPath query parser.
Usage
Parse a query to its AST with the parse
function.
let query = rsonpath_syntax::parse("$.jsonpath[*]")?;
For advanced usage consult the crate documentation.
Feature flags
There are two optional features:
arbitrary
, which enables a dependency on thearbitrary
crate to provideArbitrary
implementations on query types; this is used e.g. for fuzzing.color
, which enables a dependency on theowo_colors
crate to provide colorfulDisplay
representations ofParseError
with thecolored
function.
Examples
There are two examples programs, builder
showcases usage of the JsonPathQueryBuilder
struct; cli
is a small CLI tool that takes one argument, a query to parse, and prints a debug representation of the result query, or an error message – this is useful for debugging when developing the crate itself.
State of the crate
This is an in-development version that supports only name, index, and wildcard selectors. However, these are fully supported, tested, and fuzzed. The planned roadmap is:
- support slices
- support filters (without functions)
- support functions (including type check)
- polish the API
- 1.0.0 stable release
Dependencies
~2.1–3MB
~56K SLoC