| Crates.io | jsonfilter |
| lib.rs | jsonfilter |
| version | 0.2.1 |
| created_at | 2024-02-09 17:03:44.482228+00 |
| updated_at | 2024-06-06 17:18:16.384841+00 |
| description | Filter and compare JSON objects |
| homepage | |
| repository | https://git.hydrar.de/jmarya/jsonfilter |
| max_upload_size | |
| id | 1134165 |
| size | 43,316 |
jsonfilter is a Rust crate designed to facilitate filtering and comparing JSON values based on specified criteria. It provides functions for comparing JSON values, applying filters to JSON objects, and determining if a filter matches a given JSON object. Think of MongoDBs find() function but as a filter function. For a full syntax guide, see the Filter Documentation
To use jsonfilter, add it to your Cargo.toml and add the following to your Rust code:
use jsonfilter::{order, matches};
You can compare two JSON values using the order function:
use serde_json::json;
use std::cmp::Ordering;
use jsonfilter::order;
let a = json!(10);
let b = json!(5);
assert_eq!(order(&a, &b), Ordering::Greater);
To check if a JSON object matches a filter, use the matches function:
use serde_json::json;
use jsonfilter::matches;
let filter = json!({"name": "John", "age": 30});
let obj = json!({"name": "John", "age": 30, "city": "New York"});
assert!(matches(&filter, &obj));