{
"$schema": "http:\/\/json-schema.org\/draft-04\/schema#",
"definitions": {
},
"id": "http:\/\/example.com\/example.json",
"properties": {
"metadata": {
"id": "\/properties\/metadata",
"properties": {
"categories": {
"id": "\/properties\/metadata\/properties\/categories",
"items": {
"id": "\/properties\/metadata\/properties\/categories\/items",
"properties": {
"id": {
"id": "\/properties\/metadata\/properties\/categories\/items\/properties\/id",
"type": "string"
},
"name": {
"id": "\/properties\/metadata\/properties\/categories\/items\/properties\/name",
"type": "string"
},
"parentId": {
"id": "\/properties\/metadata\/properties\/categories\/items\/properties\/parentId",
"type": "null"
}
},
"type": "object"
},
"type": "array"
},
"channels": {
"id": "\/properties\/metadata\/properties\/channels",
"items": {
"id": "\/properties\/metadata\/properties\/channels\/items",
"properties": {
"id": {
"id": "\/properties\/metadata\/properties\/channels\/items\/properties\/id",
"type": "string"
},
"name": {
"id": "\/properties\/metadata\/properties\/channels\/items\/properties\/name",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"programs": {
"id": "\/properties\/metadata\/properties\/programs",
"items": {
"id": "\/properties\/metadata\/properties\/programs\/items",
"properties": {
"categories": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/categories",
"items": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/categories\/items",
"type": "string"
},
"type": "array"
},
"channels": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/channels",
"items": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/channels\/items",
"type": "string"
},
"type": "array"
},
"customFields": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/customFields",
"properties": {
"randomKey": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/customFields\/properties\/randomKey",
"type": "string"
}
},
"type": "object"
},
"description": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/description",
"type": "string"
},
"duration": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/duration",
"type": "integer"
},
"episode": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/episode",
"type": "integer"
},
"id": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/id",
"type": "string"
},
"live": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/live",
"type": "boolean"
},
"season": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/season",
"type": "integer"
},
"series": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/series",
"items": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/series\/items",
"type": "string"
},
"type": "array"
},
"thumbnail": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/thumbnail",
"type": "string"
},
"title": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/title",
"type": "string"
},
"validFrom": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/validFrom",
"type": "string"
},
"validTo": {
"id": "\/properties\/metadata\/properties\/programs\/items\/properties\/validTo",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"series": {
"id": "\/properties\/metadata\/properties\/series",
"items": {
"id": "\/properties\/metadata\/properties\/series\/items",
"properties": {
"id": {
"id": "\/properties\/metadata\/properties\/series\/items\/properties\/id",
"type": "string"
},
"name": {
"id": "\/properties\/metadata\/properties\/series\/items\/properties\/name",
"type": "string"
},
"thumbnail": {
"id": "\/properties\/metadata\/properties\/series\/items\/properties\/thumbnail",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
This is an example of feed that best fit our Streamhub metadata schema:
{
"metadata": {
"series": [
{
"id": "9lofiMCgV9DISk5I",
"name": "Top Chef",
"thumbnail": "https:\/\/www.google.fr\/url?sa=i&rct=j&q=&esrc=s&source=imgres&cd=&ved=0ahUKEwiLiaKrisLUAhVMvBoKHY2CCAIQjRwIBw&url=http%3A%2F%2Fgoogle.com%2Fsearch%3Ftbm%3Disch%26q%3DTop%2520Chef&psig=AFQjCNHXwey1b3hYzhG4TFRuk4Uzfu_9kQ&ust=1497692731348331"
}
],
"channels": [
{
"id": "gvzlwmAUCKUMZDQ4",
"name": "Food Discovery"
}
],
"categories": [
{
"id": "rLCYLVTn1tk0zn84",
"parentId": null,
"name": "Food"
},
{
"id": "saTwF1wTb8VA0Q7i",
"parentId": null,
"name": "Entertainment"
}
],
"programs": [
{
"id": "fT5ykQX7YjJxinwTPTUESsimxsFPTmKS",
"title": "Top Chef",
"description": "Sixteen cheftestants begin the competition, eight of whom are playing for the first time, while the other eight are veterans from previous seasons.",
"duration": 3600,
"episode": 11,
"season": 13,
"thumbnail": "http:\/\/www.gstatic.com\/tv\/thumb\/v22episodes\/13515621\/p13515621_e_v8_aa.jpg",
"series": [
"9lofiMCgV9DISk5I"
],
"categories": [
"rLCYLVTn1tk0zn84",
"saTwF1wTb8VA0Q7i"
],
"validFrom": "2013-11-18T11:55:00.000+09:00",
"validTo": "2013-11-19T11:55:00.000+09:00",
"live": true,
"channels": [
"gvzlwmAUCKUMZDQ4"
],
"customFields": {
"randomKey": "randomValue"
}
}
]
}
}