JSON (JavaScript Object Notation) is een manier om data te structureren. JSON is een moderne standaard, die op vele plaatsen, vooral op het web, wordt gehanteerd. Zoals de naam suggereert is het een structuur die goed met JavaScript samenwerkt.
Hoe ziet zo’n JSON file er eigenlijk uit? Dit is een uitdraai van de “of Ice and Fire” API, die alle Game of Thrones data van de boeken en films bevat. Dit is het overzicht van het karakter John Snow:
{ "url": "https://anapioficeandfire.com/api/characters/583", "name": "Jon Snow", "gender": "Male", "culture": "Northmen", "born": "In 283 AC", "died": "", "titles": [ "Lord Commander of the Night's Watch" ], "aliases": [ "Lord Snow", "Ned Stark's Bastard", "The Snow of Winterfell", "The Crow-Come-Over", "The 998th Lord Commander of the Night's Watch", "The Bastard of Winterfell", "The Black Bastard of the Wall", "Lord Crow" ], "father": "", "mother": "", "spouse": "", "allegiances": [ "https://anapioficeandfire.com/api/houses/362" ], "books": [ "https://anapioficeandfire.com/api/books/5" ], "povBooks": [ "https://anapioficeandfire.com/api/books/1", "https://anapioficeandfire.com/api/books/2", "https://anapioficeandfire.com/api/books/3", "https://anapioficeandfire.com/api/books/8" ], "tvSeries": [ "Season 1", "Season 2", "Season 3", "Season 4", "Season 5", "Season 6" ], "playedBy": [ "Kit Harington" ] }
Wat je ziet is een lijst, met aan de linkerkant telkens het type informatie, en aan de rechterkant de inhoud. Dit hoeft niet altijd 1 op 1 te zijn zoals “playedBy”: “Kit Harington”, maar kan ook een lijst bevatten van bv. alle aliassen die het karakter heeft in de reeks.
Lokale, gehoste en gegenereerde data
JSON data wordt bijgehouden in een .json file. Deze file kan lokaal op je hard drive staan, of ergens gehost op een server. Servers met heel veel data kan je door een zoekopdracht (ook vaak query genoemd) delen van hun informatie opvragen, die ze vervolgens aanbieden in een .json file. Aanbieders met de betere API’s hebben op hun website vaak een interface waar je direct verschillende variaties van de informatie kan opvragen. Deze wordt dan in een JSON formaat gepresenteerd. Om het bovenstaand voorbeeld aan te houden, kan je via https://anapioficeandfire.com/ proberen om verschillende soorten info op te vragen via de webinterface.
JSON in detail
Details over wat JSON precies is, en hoe het werkt kan je vinden in deze 2 video’s van Daniel Shiffman