access-json 
Hijack serde to query large nested structures in Rust. For low-effort, read-only FFI.
Query a subset of your Serde-Serializable Data
This library allows you to execute a simple path-query against any serde-serializable object; returning the result as a Option<serde_json::Value>.
use JSONQuery;
use HashMap;
use serde_json;
let mut data: = default;
data.insert;
let query = parse?; // QueryParseErr
let output = query.execute?; // QueryExecErr
let expected = to_value?; // You must derive Serialize!
assert_eq!;
A More Complex, Nested Example
use JSONQuery;
use ;
let data: Value = from_str?;
// We can reference dictionary fields and array indices together:
let output = parse?.execute?;
let expected = to_value?;
assert_eq!;
// We can have results be of any-size sub-tree, e.g., a whole array or vec.
let output = parse?.execute?;
let expected = to_value?;
assert_eq!;
Just #[derive(Serialize)] to query any struct or enum:
use JSONQuery;
extern crate serde_derive;
let data = Dog ;
let found = parse?.execute?.unwrap;
assert_eq!;