Dictionary

JSON

JSON is het tekstformaat waarin systemen data naar elkaar sturen: leesbaar voor mensen, eenduidig voor machines. API-antwoorden, webhooks, configuratiebestanden, logs: bijna alles wat tussen systemen beweegt, beweegt als JSON.

Wat is JSON?

JSON staat voor JavaScript Object Notation. Het is een tekstformaat waarin systemen data naar elkaar sturen: leesbaar voor mensen, eenduidig voor machines. Vraag je via een API de openstaande facturen op uit je boekhoudpakket, dan komt het antwoord vrijwel zeker binnen als JSON.

De naam verraadt waar het vandaan komt: de notatie is gegroeid uit JavaScript, de taal van de browser. Intussen staat JSON volledig los van die taal. Elke programmeertaal die ertoe doet kan het lezen en schrijven, en het formaat ligt vast in twee standaarden: ECMA-404 (2013) en RFC 8259 (2017).

Zie een JSON-bericht als een ingevuld formulier. Elk veld heeft een naam en een waarde, en een veld kan op zijn beurt een volledig formulier bevatten.

Hoe ziet JSON eruit?

Een JSON-document bestaat uit sleutel-waardeparen tussen accolades. De sleutel is altijd tekst tussen dubbele aanhalingstekens, de waarde volgt na een dubbelpunt. Bijvoorbeeld: {"klant": "Peeters BV", "openstaand": 1250.50, "facturen": ["F2026-041", "F2026-057"]}.

Meer dan zes soorten waarden bestaan er niet: tekst, getallen, true of false, null (leeg), lijsten tussen vierkante haken en objecten tussen accolades. Objecten en lijsten mag je eindeloos in elkaar nesten: een klant bevat een adres, dat adres bevat een landcode.

Net die kleine woordenschat maakt het formaat zo breed gedragen. Een JSON-lezer is in elke taal snel gebouwd, en hetzelfde bestand betekent overal hetzelfde.

Waar kom je JSON tegen?

API-antwoorden
JSON is het standaardformaat voor web-API's. Elke connector die data ophaalt uit je CRM, webshop of boekhoudpakket krijgt JSON terug.

Webhooks
Het bericht dat een systeem je toestuurt zodra er iets gebeurt (een nieuwe bestelling, een betaalde factuur) is een JSON-payload.

Configuratiebestanden
Heel wat tools bewaren hun instellingen als JSON. De themabestanden van Power BI zijn er een voorbeeld van.

Logs en telemetrie
Applicaties schrijven events vaak weg als één JSON-object per regel. Dat maakt logbestanden doorzoekbaar zonder vaste kolomstructuur.

Documentdatabases
MongoDB en Azure Cosmos DB werken met documenten in JSON-vorm in plaats van met rijen in een vaste tabel.

JSON als halfgestructureerde data

In een klassieke databasetabel ligt de structuur vooraf vast: eerst definieer je de kolommen, dan pas mag er data in. Bij JSON reist de structuur mee met de data zelf. Elke record draagt zijn eigen veldnamen, en twee records in dezelfde lijst mogen gerust verschillende velden hebben.

Daarom heet JSON halfgestructureerd: er zit structuur in, alleen wordt die nergens afgedwongen. Dat is ook waarom een data lake er vol mee staat. Je bewaart de ruwe API-antwoorden zoals ze binnenkomen en beslist pas bij het lezen welke velden je eruit haalt.

Flexibel voor wie data verzamelt, werk voor wie ze analyseert.

Van JSON naar tabellen

Rapportering draait op rijen en kolommen, JSON is een boom. Vroeg of laat moet die boom dus plat.

Het recept is altijd hetzelfde: een genest object wordt een reeks extra kolommen (adres wordt adres.straat en adres.gemeente), een lijst wordt extra rijen. Eén bestelling met drie orderlijnen wordt drie rijen die de bestelgegevens herhalen.

Power Query doet dat werk grotendeels voor je. De JSON-connector leest een bestand of API-antwoord in en met een paar klikken vouw je geneste velden open tot kolommen. In SQL Server en Microsoft Fabric doet de functie OPENJSON hetzelfde binnen een query: die zet een JSON-lijst om naar rijen die je gewoon met SQL bevraagt.

Voor grote volumes is JSON wel een dure vorm om data in te laten staan. Elke record herhaalt alle sleutelnamen en alles is tekst. Daarom zetten datapijplijnen binnenkomende JSON meestal snel om naar een kolomformaat zoals Parquet: kleiner op schijf en veel sneller voor analyse.

JSON versus CSV, XML en Parquet

JSON versus CSV

CSV is platte tekst in rijen en kolommen, zonder nesting en zonder datatypes: alles is tekst en de betekenis hangt af van wie het bestand opent. Voor een eenvoudige tabel is CSV prima en zelfs compacter dan JSON. Zodra je structuur nodig hebt, een bestelling met meerdere lijnen of een klant met meerdere adressen, wint JSON.

JSON versus XML

XML doet hetzelfde als JSON, alleen ouder en omslachtiger: elke waarde zit tussen een openings- en een sluitingstag. Voor web-API's heeft JSON die strijd gewonnen. In formele uitwisseling blijft XML wel de norm: e-facturatie via Peppol gebruikt bijvoorbeeld UBL, een XML-formaat.

JSON versus Parquet

Geen concurrenten, wel twee stappen in dezelfde pijplijn. JSON is een uitwisselingsformaat voor data onderweg, Parquet een opslagformaat voor analyse. JSON slaat elke record apart op met zijn veldnamen erbij, Parquet groepeert waarden per kolom en comprimeert ze. Vuistregel: JSON aan de randen van je platform, waar systemen met elkaar praten, en Parquet in de analytische laag, waar queries op draaien.

Waar moet je op letten bij het gebruik van JSON

Wijzigende structuren breken pijplijnen
JSON dwingt geen schema af, dus een leverancier kan een veld hernoemen, verplaatsen of dieper nesten zonder dat er iets vastloopt aan zijn kant. Jouw import blijft vaak gewoon draaien, alleen komt de kolom voortaan leeg binnen. Bewaak je pijplijn op lege of verdwenen velden en leg de verwachte structuur vast in een data contract met de bron.

Datums bestaan niet
JSON kent geen datumtype: een datum is gewoon tekst. Spreek één notatie af, bijvoorbeeld 2026-07-03, en spreek af in welke tijdzone tijdstippen staan. Anders leest de ene partij 03-04-2026 als 3 april en de andere als 4 maart.

Grote getallen worden afgerond
De meeste systemen lezen JSON-getallen in als kommagetal met beperkte precisie. Heel grote gehele getallen, zoals sommige ID's, raken daarbij stilletjes afgerond. Daarom sturen sommige API's bedragen en ID's als tekst mee. Check hoe jouw bron dat doet voor je erop rekent.

Codering
De standaard schrijft UTF-8 voor bij uitwisseling tussen systemen. Krijg je een bestand in een andere codering, dan sneuvelen accenten en eurotekens het eerst. Hou het op UTF-8, in beide richtingen.

FAQ over JSON

1. Is JSON een database?
Nee, JSON is een tekstformaat. Documentdatabases zoals MongoDB werken wel met documenten in JSON-vorm, maar het formaat zelf is niets meer dan afgesproken tekst.

2. Kan ik JSON openen in Excel of Power BI?
Ja. Power Query, dat in beide zit, heeft een ingebouwde JSON-connector. Die leest het bestand of API-antwoord in en laat je geneste velden openvouwen tot gewone kolommen.

3. Wat is het verschil tussen JSON en een API?
De API is de afspraak over hoe je een systeem iets vraagt, JSON is het formaat waarin het antwoord terugkomt. Zowat elke web-API antwoordt in JSON, maar een API kan evengoed XML of een ander formaat teruggeven.

4. Kan ik de structuur van JSON toch afdwingen?
Met JSON Schema beschrijf je welke velden verplicht zijn en welk type ze hebben, en valideer je binnenkomende berichten daartegen. Handig aan de rand van je platform, voor de data je pijplijn in gaat.

Laatst Bijgewerkt: July 3, 2026 Terug naar Woordenboek
Trefwoorden
json javascript object notation api webhook parquet data lake power query halfgestructureerde data data-uitwisseling bestandsformaat integratie