Technologie vergaat niet, maar er komen wel krachtiger alternatieven bij. Wat werkt, blijft werken. CSV blijft (succesvol sinds voor mijn tijd), SQL blijft (succesvol sinds begin 70ies). We slaan XML (1998-2006) over en gaan door naar JSON. Een krachtige manier van gegevens uitwisselen die past bij de overname van het web door Javascript.
Opdracht 0: Installeer JSON View
Deze browser extensie haal je op van https://jsonview.com/
Woonplaatsguesser
Een moderne toepassing van Javascript is de nieuwe game woonplaatsguesser van https://woonplaatsgame.wvd.io/
Het handige van Javascript is dat je de broncode direct kunt zien (CTRL-U). Een onderdeel van de code (van de voorpagina) is:
<script src="nederland.js" type="text/javascript"></script>
<script src="woonplaatsen.js" type="text/javascript"></script>
<script src="gemeentes.js" type="text/javascript"></script>
<script src="woonplaatsgame.js" type="text/javascript"></script>
Met deze code in de tas kunnen we direct de architectuur achterhalen:
Bij woonplaatsguesser staan de JSON data files gewoon op de disk. Eenmaal uploaden en klaar. Nooit meer aankomen. Bij een meer complexe site als Agario komt JSON data vast en zeker uit een database, mogelijk een Mongodb.
Hoe ziet JSON eruit?
Kortom, een brij van accolades en haakjes. Waarom? 1 code en javascript heeft alle data ingelezen. En dat is lekker. JSON is niet voor niets Javascript Object Notation. Ingebouwd in elke browser.
Opvragen via de URL
Het lekkere van die JSON is dat je ze via een URL (web link) ineens op kunt vragen. Geen SQL leren. Geen gekut. Ineens bam. Bezoek:
https://www.rottentomatoes.com/api/private/v1.0/movies/matrix
Sla deze file op als matrix-code.txt en gebruik deze in de volgende tutorial, waar staat movie_1.txt
JSON in Python tutorial
Opdracht 1: Kijk en probeer deze tutorial via https://repl.it/
Opdracht 2
Probeer de tutorial van replit, Fetching en Processing a JSON file.
Meer achtergrond (voor backenders)
Moderne sites wisselen via JSON data uit, onderling en met de gebruikers. Om hun product heen bouwen ze een applicatie interface, een API. Tegenwoordig zijn 9 van de 10 sites uitgerust met een REST api (of RESTful), die inhoudt dat je via een URL als in de voorbeelden data opvraagt.
Voorbeelden van REST API’s
Toys
- https://www.programmableweb.com/
- https://apigee.com/edge (* free account required)
Bedankt Ben Bjorstrom voor deze scherpe uitleg.