Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/craftspider/jsonpath-plus
Improved Rust JSONPath implementation
https://github.com/craftspider/jsonpath-plus
Last synced: about 1 month ago
JSON representation
Improved Rust JSONPath implementation
- Host: GitHub
- URL: https://github.com/craftspider/jsonpath-plus
- Owner: CraftSpider
- License: apache-2.0
- Created: 2022-02-04T01:36:26.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-19T14:14:52.000Z (over 1 year ago)
- Last Synced: 2024-09-14T04:11:46.611Z (2 months ago)
- Language: Rust
- Size: 169 KB
- Stars: 4
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Rust JSONPath Plus
[![crates.io](https://img.shields.io/crates/v/jsonpath-plus.svg)](https://crates.io/crates/jsonpath-plus)
[![Documentation](https://docs.rs/rebound/badge.svg)](https://docs.rs/jsonpath-plus)
[![MIT/Apache-2 licensed](https://img.shields.io/crates/l/rebound.svg)](./LICENSE-APACHE)An implementation of the JSONPath A spec in Rust, with several extensions added on.
This library also supports retrieving AST analysis of compiled paths, so users
may implement syntax highlighting or nice error reporting on top of it.## Extensions
- Parent selector `^`, used as `$.a.b.^` or `$['a']['b'][^]`. Matches the parent of
the currently selected object.
- Subpath selectors, used as `$['a'][$.b.id]` or `$['a'][@.sum.id]`. Evaluates the
subpath, then selects items with keys same as the result of the subpath.
- ID selector `~`, used at the end of the path as `@.a.b~` or `$['a']['b']~`. Can be
used in filters to compare against the ID of a matched item. Doesn't yet work at
the top level.