Skip to content

Repository files navigation

GitHub issuesRustcrates.io

jsonpath_rs

ForumDiscord

A JSONPath library for rust. The idea behind this library is that it can operate on any json representation as long as it implements the SelectValue triat. The library has an implementation for serde_json value and ivalue.

Getting Started

Add the following to your cargo.toml

[dependencies]
jsonpath_rs = { git = "https://github.com/RedisJSON/jsonpath_rs.git", branch = "master"}

Usage example:

externcrate jsonpath_rs#[macro_use]externcrate serde_json;fnmain(){let query = jsonpath_rs::compile("$..friends[0]");let path = jsonpath_rs::create(&query)let json_obj = json!({"school":{"friends":[{"name":"foo1","age":20},{"name":"foo2","age":20}]},"friends":[{"name":"foo3","age":30},{"name":"foo4"}]});let json = path.calc(&json_obj);assert_eq!(json, vec![&json!({"name":"foo3","age":30}),&json!({"name":"foo1","age":20})]);}

Tests

jsonpath_rs pass Almost all the tests on https://github.com/freestrings/jsonpath, to run the tests:

cargo test

About

Json path calculator library for rust

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages