Skip to main content

resolve_pointer

Function resolve_pointer 

Source
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)));