init
This commit is contained in:
commit
c5cd492449
475 changed files with 27928 additions and 0 deletions
25
technology/files/JSON Pointer.md
Normal file
25
technology/files/JSON Pointer.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
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.
|
Loading…
Add table
Add a link
Reference in a new issue