Item:OSWf1df064239044b8fa3c968339fb93344: Difference between revisions

update from wiki-dev
(Update package: OSW Docs - Core)
(update from wiki-dev)
Tag: 2017 source edit
 
Line 78: Line 78:
</syntaxhighlight>
</syntaxhighlight>


==JSON Documents: Pointer (1)==
==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: Pointer (2)==
==JSON Documents: Reference==
Pointer allow reference to
References allow reference to
*An object within the JSON document
*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==