{ "$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" } } ] } }