jsonvaluesearch

Linter Actions Status semantic-release

Give an interface to search values into json_serde::Value.

Installation

Toml [dependencies] json_value_search = "1.0"

Usage

```rust extern crate jsonvaluesearch;

use jsonvaluesearch::Search; use serde_json::Value;

let value: Value = serdejson::fromstr(r#"{"fieldA":[{"field.B":"valueB"},{"fieldC":"valueC"}]}"#).unwrap();

let valueexpectedwithwildcard: Value = serdejson::fromstr(r#"[{"field.B":"valueB"},{"fieldC":"valueC"}]"#).unwrap(); asserteq!(Some(valueexpectedwithwildcard),value.clone().search(r#"/field_A/*"#));

let valueexpectedforspecificfield: Value = serdejson::fromstr(r#"["valueB"]"#).unwrap(); asserteq!(Some(valueexpectedforspecificfield),value.clone().search(r#"/field_A/*/field.B"#));

let valueexpectedforspecificindex: Value = serdejson::fromstr(r#"{"field.B":"valueB"}"#).unwrap(); asserteq!(Some(valueexpectedforspecificindex),value.clone().search(r#"/field_A/0"#));

let valueexpectedwithregex: Value = serdejson::fromstr(r#"["valueB","valueC"]"#).unwrap(); asserteq!(Some(valueexpectedwithregex),value.clone().search(r#"/fieldA/*/field.+"#)); ```

Useful link

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

Apache MIT