--- obj: concept rfc: https://datatracker.ietf.org/doc/html/rfc6901 --- # JSON Pointer JSON Pointer defines a string format for identifying a specific value within a [JSON](JSON.md) 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](JSON.md) ```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](../files/JSON.md)). 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.