Data lezen met JSON

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

Bedankt Ben Bjorstrom voor deze scherpe uitleg.

Eloquent Architect 161

Eloquent Architect 161