| Crates.io | rsonpath-syntax |
| lib.rs | rsonpath-syntax |
| version | 0.4.0 |
| created_at | 2024-01-10 15:56:14.300724+00 |
| updated_at | 2025-01-02 22:22:43.271448+00 |
| description | A JSONPath parser. |
| homepage | https://rsonquery.github.io/rsonpath/ |
| repository | https://github.com/rsonquery/rsonpath |
| max_upload_size | |
| id | 1095349 |
| size | 263,638 |
rsonpath-syntax – JSONPath parserComplete, fast, and fully spec-compliant JSONPath query parser.
Parse a query to its AST with the parse function.
let query = rsonpath_syntax::parse("$.jsonpath[*]")?;
For advanced usage consult the crate documentation.
There are three optional features:
arbitrary, which enables a dependency on the arbitrary crate to provide Arbitrary implementations on query types; this is used e.g. for fuzzing.color, which enables a dependency on the owo_colors crate to provide colorful Display representations of ParseError with the colored function.serde, which enables a dependency on the serde crate to provide serialization and deserialization of JsonPathQuery and all the underlying types.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.
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:
Showing direct dependencies.
cargo tree --package rsonpath-lib --edges normal --depth 1 --target=all --all-features
rsonpath-syntax v0.4.0 (/home/mat/src/rsonpath/crates/rsonpath-syntax)
├── arbitrary v1.4.1
├── nom v7.1.3
├── owo-colors v4.1.0
├── serde v1.0.217
├── thiserror v2.0.9
└── unicode-width v0.2.0
arbitrary – optional Arbitrary support for fuzzing.nom – combinator-based parsing used throughout the crate.owo-colors – optional feature for pretty error messages.serde – optional dependency for serialization and deserialization of compiled engines.thiserror – idiomatic Error implementations.unicode-width – used to display error messages correctly in presence of wider Unicode characters in the query string.