pub fn resolve_pointer<'a>(value: &'a Value, pointer: &str) -> Option<&'a Value>Expand description
Resolve a JSON Pointer against a JSON value.
Implements RFC 6901 JSON Pointer syntax:
- Empty string “” refers to the whole document
- “/” refers to an empty key
- “/foo/bar” navigates to obj[“foo”][“bar”]
- “/0” navigates to array index 0
- “
0” escapes to “” - “~1” escapes to “/”
§Examples
use serde_json::json;
use tokmd_gate::resolve_pointer;
let doc = json!({"foo": {"bar": 42}});
assert_eq!(resolve_pointer(&doc, "/foo/bar"), Some(&json!(42)));
let arr = json!({"items": [1, 2, 3]});
assert_eq!(resolve_pointer(&arr, "/items/1"), Some(&json!(2)));