125
edits
(Update package: OSW Docs - Core) |
(update from wiki-dev) Tag: 2017 source edit |
||
Line 78: | Line 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==JSON Documents: Pointer | ==JSON Documents: Pointer== | ||
Pointer allow reference to | Pointer allow reference to | ||
Line 100: | Line 100: | ||
<nowiki>#</nowiki>/kids/0 - the first item within the array "kids" | <nowiki>#</nowiki>/kids/0 - the first item within the array "kids" | ||
==JSON Documents: | ==JSON Documents: Reference== | ||
References allow reference to | |||
*An external JSON document | *An external JSON document | ||
*Combined with a pointer: An object within the external JSON document | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
Line 111: | Line 111: | ||
"partner": { | "partner": { | ||
"$ref": "http://www.personaldata.com/walter.birch.json" | "$ref": "http://www.personaldata.com/walter.birch.json" | ||
}, | |||
"partner_firstname": { | |||
"$ref": "http://www.personaldata.com/walter.birch.json#firstname" | |||
} | } | ||
} | } | ||
</syntaxhighlight>Specification: [http://jsonref.org/] | |||
==JSON Documents: Path== | |||
Paths allow query / filter values within a JSON document<syntaxhighlight lang="json"> | |||
{ | |||
"store": { | |||
"book": [ | |||
{ "author": "Nigel Rees", | |||
"title": "Sayings of the Century", | |||
"price": 8.95 | |||
}, | |||
{ "author": "J. R. R. Tolkien", | |||
"title": "The Lord of the Rings", | |||
"isbn": "0-395-19395-8", | |||
"price": 22.99 | |||
} | |||
] | |||
} | |||
} | |||
</syntaxhighlight> | |||
*$.store.book[*].price => [8.95, 22.99] | |||
*$.store.book[?(@.title == 'The Lord of the Rings')].price => 22.99 | |||
Specification: [https://datatracker.ietf.org/doc/html/rfc9535] | |||
Conceptually also available as AWS S3 Select[https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-select-sql-reference-select.html] and Postgres JSONB [https://www.postgresql.org/docs/current/datatype-json.html#JSON-CONTAINMENT] | |||
== JSON vs. YAML == | |||
YAML version 1.2 is a superset of JSON with a simplified syntax | |||
<div style=" column-count: 2;"> | |||
<div>JSON (more machine-friendly) | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"store": { | |||
"book": [ | |||
{ "author": "Nigel Rees", | |||
"title": "Sayings of the Century", | |||
"price": 8.95 | |||
}, | |||
{ "author": "J. R. R. Tolkien", | |||
"title": "The Lord of the Rings", | |||
"isbn": "0-395-19395-8", | |||
"price": 22.99 | |||
} | |||
] | |||
} | |||
} | |||
</syntaxhighlight> | |||
</div> | |||
<div>YAML (more human-friendly) | |||
<syntaxhighlight lang="yaml"> | |||
# comments are allowed | |||
store: | |||
book: | |||
- author: Nigel Rees | |||
title: Sayings of the Century | |||
price: 8.95 | |||
- author: J. R. R. Tolkien | |||
title: The Lord of the Rings | |||
isbn: 0-395-19395-8 | |||
price: 22.99 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | |||
</div> | |||
==JSON Documents: Next== | ==JSON Documents: Next== |