1.2 KiB
obj | rfc |
---|---|
concept | https://datatracker.ietf.org/doc/html/rfc6901 |
JSON Pointer
JSON Pointer defines a string format for identifying a specific value within a JSON document.
A JSON Pointer is a string of tokens separated by /
characters, these tokens either specify keys in objects or indexes into arrays. For example, given the JSON
{
"biscuits": [
{ "name": "Digestive" }`
{ "name": "Choco Leibniz" }
]
}
/biscuits
would point to the array of biscuits and /biscuits/1/name
would point to "Choco Leibniz"
.
To point to the root of the document use an empty string for the pointer. The pointer /
doesn’t point to the root, it points to a key of ""
on the root (which is totally valid in JSON).
If you need to refer to a key with ~
or /
in its name, you must escape the characters with ~0
and ~1
respectively. For example, to get "baz"
from { "foo/bar~": "baz" }
you’d use the pointer /foo~1bar~0
.
Finally, if you need to refer to the end of an array you can use -
instead of an index. For example, to refer to the end of the array of biscuits above you would use /biscuits/-
. This is useful when you need to insert a value at the end of an array.