JSON Pointer Lookup
Look up a JSON value by RFC 6901 JSON Pointer, with clear errors for invalid paths.
Try a small example
Try a small example
Load the fictional example in a cleared form. Check the options, run the tool if needed, and compare the result below.
Resolve an RFC 6901 JSON Pointer in a JSON document. Member names are matched exactly, including letter case and Unicode code points. Paste JSON and a bare JSON Pointer string such as /users/0/name, then select Look up value. Do not include the leading # from a URI fragment. Leave the pointer empty to return the whole document; use / to select an empty-name property. Escape ~ as ~0 and / as ~1. Array indexes start at 0 and cannot have leading zeros. Object member names must match exactly, including capitalization and Unicode character composition. The empty pointer selects the whole document; / selects an empty-name member. Array indexes are zero-based, cannot have leading zeros, and must exist. Repeated object names and numbers JavaScript would change are rejected to avoid ambiguous or altered output. A property can look identical but fail to match if its Unicode characters are composed differently.
JSON document
{"items":[{"a/b":"tea","~key":false}]}JSON Pointer string (no leading #)
/items/0/a~1b
Expected output
"tea"
The example is unavailable until the tool is ready.
Text is processed in your browser.
Share this tool
Only the tool’s public link is shared. Your inputs and results stay here.
Show link to copy manually
Quick answer
Resolve an RFC 6901 JSON Pointer in a JSON document. Member names are matched exactly, including letter case and Unicode code points.
The page and its assets load from the site; this operation uses your entered values only in this browser and does not send them to a calculation endpoint.
How to use it
Paste JSON and a bare JSON Pointer string such as /users/0/name, then select Look up value. Do not include the leading # from a URI fragment. Leave the pointer empty to return the whole document; use / to select an empty-name property. Escape ~ as ~0 and / as ~1. Array indexes start at 0 and cannot have leading zeros. Object member names must match exactly, including capitalization and Unicode character composition.
Limits
The empty pointer selects the whole document; / selects an empty-name member. Array indexes are zero-based, cannot have leading zeros, and must exist. Repeated object names and numbers JavaScript would change are rejected to avoid ambiguous or altered output. A property can look identical but fail to match if its Unicode characters are composed differently.
Frequently asked questions
How do I escape a slash or tilde in a member name?
Write ~1 for a slash and ~0 for a tilde. For example, the member name a/b is addressed as /a~1b.
How are array positions written?
Array indexes are zero-based whole numbers without leading zeros: use /items/0 for the first item. The hyphen token does not select an existing array item.
Are object member names case-sensitive?
Yes. The name must match exactly, including capitalization and Unicode code points. Visually identical characters with different Unicode composition do not match.
Sources and references
These references document the cited standard or browser API; they do not validate the tool’s output.
