Skip to content

Instantly share code, notes, and snippets.

@kevinswiber
Created July 7, 2012 14:56
Show Gist options
  • Save kevinswiber/3066768 to your computer and use it in GitHub Desktop.
Save kevinswiber/3066768 to your computer and use it in GitHub Desktop.
JSON Siren vs. HAL Representations
{
"_links": {
"self": { "href": "/orders" },
"next": { "href": "/orders?page=2" },
"find": { "href": "/orders{?id}", "templated": true }
},
"_embedded": {
"orders": [{
"_links": {
"self": { "href": "/orders/123" },
"basket": { "href": "/baskets/98712" },
"customer": { "href": "/customers/7809" }
},
"total": 30.00,
"currency": "USD",
"status": "shipped",
},{
"_links": {
"self": { "href": "/orders/124" },
"basket": { "href": "/baskets/97213" },
"customer": { "href": "/customers/12369" }
},
"total": 20.00,
"currency": "USD",
"status": "processing"
}]
},
"currentlyProcessing": 14,
"shippedToday": 20
}
{
"class": "orders",
"properties": {
"currentlyProcessing": 14,
"shippedToday": 20
},
"entities": [
{
"class": "order list-item",
"rel": "order",
"properties": {
"total": 30.00,
"currency": "USD",
"status": "shipped"
},
"entities": [
{ "rel": "basket", "href": "/baskets/98712" },
{ "rel": "customer", "href": "/customers/7809" }
],
"links": [{ "rel": "self", "href": "/orders/123" }]
},
{
"class": "order list-item",
"rel": "order",
"properties": {
"total": 20.00,
"currency": "USD",
"status": "processing"
},
"entities": [
{ "rel": "basket", "href": "/baskets/98713" },
{ "rel": "customer", "href": "/customers/12369" }
],
"links": [{ "rel": "self", "href": "/orders/124" }]
}
],
"actions": [{
"class": "find-order",
"href": "/orders",
"fields": [{ "name": "id", "type": "number" }]
}],
"links": [
{ "rel": "self", "href": "/orders" },
{ "rel": "next", "href": "/orders?page=2" }
]
}
@nduane
Copy link

nduane commented Feb 11, 2015

The SIREN representation doesn't seem equivalent to the HAL one. The HAL representation has an embedded representation called "orders" which is an array of orders. The SIREN representation has two embedded resources, unfortunately unnamed, which are order list-item.

@kirkins
Copy link

kirkins commented Dec 29, 2016

Anyone know which json standard has become most popular? I'm writing a bunch of json schema for various multimedia apps but standardization among units is lacking. Will probably go with something closer to Siren.

You may find this useful and/or interesting: http://json-schema.org/latest/json-schema-core.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment