rsonpath-syntax

Crates.iorsonpath-syntax
lib.rsrsonpath-syntax
version0.3.1
sourcesrc
created_at2024-01-10 15:56:14.300724
updated_at2024-03-28 18:14:52.874592
descriptionA JSONPath parser.
homepage
repositoryhttps://github.com/V0ldek/rsonpath
max_upload_size
id1095349
size252,299
V0ldek (V0ldek)

documentation

README

rsonpath-syntax – JSONPath parser

Rust docs.rs

Crates.io

MSRV License

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 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.

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
Commit count: 697

cargo fmt