Gidsen

Wat is JSON? Een begrijpelijke gids met voorbeelden

JSON (JavaScript Object Notation) is een eenvoudig tekstformaat om gestructureerde gegevens op te schrijven — dingen zoals een klant, een bestelling of een lijst met producten — als namen gekoppeld aan waarden. Het is makkelijk voor mensen om te lezen en makkelijk voor programma’s om te maken en te verwerken. Wanneer apps en diensten via het web gegevens uitwisselen, is JSON verreweg het meest gebruikte formaat.

Waarom JSON ertoe doet als je met AI bouwt

Je komt JSON voortdurend tegen, zelfs als je nooit code schrijft:

  • API’s. Wanneer de schermen van je app gegevens laden uit de backend, of je backend een betaal-, e-mail- of AI-dienst aanroept, reizen de gegevens meestal als JSON. Zie wat een API is.
  • Instellingenbestanden. Veel configuratiebestanden van projecten zijn JSON — bijvoorbeeld package.json, dat de afhankelijkheden van een JavaScript-project opsomt.
  • Databases. Postgres kan JSON opslaan in een kolom (het type jsonb) voor gegevens die niet in nette rijen en kolommen passen. Zie wat Postgres is.
  • AI-output. Als je wilt dat een AI-model iets teruggeeft dat een programma kan gebruiken — een lijst met tags, geëxtraheerde factuurvelden — vraag je meestal om JSON.
  • Foutmeldingen en logs. Veel fouten komen als JSON binnen, en die lezen is vaak de snelste manier om te vinden wat er misging.

JSON kunnen lezen helpt je te controleren wat je app echt heeft ontvangen, een ontbrekend veld te zien en problemen precies te omschrijven aan je AI-appbouwer.

Een dagelijkse vergelijking

Denk aan een papieren formulier: Naam: ____, Telefoon: ____, Nieuwsbrief: ☐ ja ☐ nee. Elke invulling is een label met een waarde ernaast. JSON is dat formulier als tekst geschreven, in een strikte opmaak die een computer kan lezen zonder te raden. En net als formulieren kan JSON secties in secties hebben (een adresblok met straat, stad en postcode) en lijsten (meerdere telefoonnummers).

Hoe JSON eruitziet

Hier is één boeking in JSON:

{
  "id": 5001,
  "customer": "Lena Park",
  "service": "Haircut",
  "startsAt": "2026-10-03T14:00:00Z",
  "price": 35.5,
  "paid": false,
  "notes": null,
  "extras": ["baardtrim", "hete handdoek"],
  "contact": {
    "email": "lena@example.com",
    "phone": "+44 20 7946 0000"
  }
}

Zo lees je het:

  • Accolades { } omsluiten een object — een set naam-waardeparen.
  • Elk paar is "naam": waarde, gescheiden door komma’s.
  • Vierkante haken [ ] omsluiten een array — een geordende lijst.
  • Objecten en arrays kunnen in elkaar zitten, zoals contact en extras doen.

De zes soorten waarden

JSON kent maar zes typen waarden. Die kleine lijst is een groot deel van de reden dat het overal werkt.

TypeVoorbeeldOpmerkingen
Tekst (string)"Lena Park"Altijd dubbele aanhalingstekens
Getal35.5, -2, 1e6Geen aanhalingstekens; geen valutasymbolen
Booleantrue, falseKleine letters, geen aanhalingstekens
Nullnull„Geen waarde”
Object{ "city": "Leeds" }Benoemde waarden
Array[1, 2, 3]Geordende lijst; items kunnen elk type zijn

Er is geen datumtype. Datums worden als tekst geschreven, meestal in het ISO 8601-formaat zoals hierboven (2026-10-03T14:00:00Z, waarbij Z UTC betekent). Afspreken over dat formaat voorkomt een hele categorie tijdzonefouten.

De strenge regels (waar fouten vandaan komen)

JSON is minder vergevingsgezind dan het lijkt. Dit is allemaal ongeldig:

{ name: "Lena" }            ← sleutel zonder dubbele aanhalingstekens
{ 'name': 'Lena' }          ← enkele aanhalingstekens
{ "a": 1, "b": 2, }         ← komma aan het eind
{ "a": 1 "b": 2 }           ← ontbrekende komma
{ "a": 1 // opmerking }     ← opmerkingen zijn niet toegestaan

De meeste „Unexpected token”-fouten die je ziet, zijn een van deze. Een JSON-validator of -formatter toont de exacte regel.

Een uitgewerkt voorbeeld: JSON door een app

Een klant boekt een kapsel in een salonapp. Hier duikt JSON op:

  1. Het boekingsformulier stuurt dit naar de backend van de app:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. De backend slaat de boeking op in de database en antwoordt met status 201 Created en:
{ "id": 5001, "status": "confirmed" }
  1. Als het tijdstip al bezet was, antwoordt het misschien met status 409 Conflict en:
{ "error": "slot_taken", "message": "Dat tijdstip is net geboekt. Kies alsjeblieft een ander." }

De pagina leest status of error en toont het juiste bericht. Als de pagina in plaats daarvan een leeg scherm toonde, zou het openen van de ontwikkelaarstools van de browser (tabblad Network) deze JSON laten zien — vaak de snelste aanwijzing voor wat er misging.

Belangrijke termen

TermBetekenis
SleutelDe naam in een naam-waardepaar, zoals "email".
ParsenJSON-tekst omzetten in gegevens die een programma kan gebruiken.
Serialiseren / stringifyGegevens omzetten in JSON-tekst om te versturen of op te slaan.
PayloadDe gegevens die in een verzoek of antwoord worden verstuurd.
SchemaEen beschrijving van de vorm die gegevens moeten hebben — welke velden, welke typen. JSON Schema is een standaardmanier om er een te schrijven.
JSONBHet binaire JSON-kolomtype van Postgres, dat geïndexeerd en doorzocht kan worden.
NDJSON / JSON LinesEén JSON-object per regel, gebruikelijk voor logs en streaming.

Veelvoorkomende misverstanden

  • „JSON is JavaScript.” Het komt voort uit de syntaxis van JavaScript, maar het is taalonafhankelijk; Python, Java, C#, Go en de rest lezen het allemaal.
  • „Getallen tussen aanhalingstekens zijn prima.” "35" is tekst, geen getal. Door ze te mengen ontstaan bugs, zoals "35" + "5" dat "355" wordt. Geld wordt vaak beter opgeslagen als hele centen (3550) om afrondingsproblemen te vermijden.
  • „JSON is veilig omdat het alleen gegevens is.” JSON kan alles bevatten, inclusief geheimen. Zet geen API-sleutels in JSON dat naar de browser wordt gestuurd.
  • „Zet alles in een JSON-kolom.” Handig voor flexibele extra’s, maar gegevens waarop je zoekt, filtert of joint, horen meestal in gewone kolommen.
  • „De AI geeft altijd geldige JSON terug.” Modellen kunnen extra tekst toevoegen of het formaat breken. Veel providers bieden een modus voor gestructureerde output; je code moet wat terugkomt toch controleren.

Wat je aan je AI-appbouwer kunt vragen

  • „Laat me een voorbeeld zien van de JSON die dit endpoint teruggeeft.”
  • „Geef fouten terug als JSON met een error-code en een voor mensen leesbaar message.”
  • „Sla datums op als ISO 8601-tekst in UTC en reken alleen op het scherm om naar lokale tijd.”
  • „Sla prijzen op als gehele centen.”
  • „Valideer binnenkomende JSON op de server en weiger verzoeken met ontbrekende of verkeerd getypeerde velden.”
  • „Als je het AI-model aanroept, vraag om JSON in deze exacte vorm en controleer het voordat je het gebruikt.”

JSON in Mythex

Je hoeft in Mythex geen JSON met de hand te schrijven — je beschrijft wat je wilt en de agent schrijft de code die het verstuurt en leest. Het helpt wel om het te herkennen: als er iets misgaat, geeft het plakken van de JSON-fout in de chat de agent een precieze aanwijzing. Het REST-API-backendrecept in de documentatie vraagt er vanaf het begin om „duidelijke JSON-fouten”, en het recept elke API integreren behandelt het aanroepen van externe diensten. Voor het grotere plaatje, zie REST vs GraphQL en hoe je een AI-gebouwde app debugt.

Veelgestelde vragen

Wat is JSON in eenvoudige bewoordingen?

JSON (JavaScript Object Notation) is een tekstformaat om gestructureerde gegevens op te schrijven als namen en waarden, zoals "naam": "Lena". Bijna elke webAPI gebruikt het om gegevens heen en weer te sturen, en veel apps gebruiken het voor instellingen en opgeslagen gegevens.

Is JSON een programmeertaal?

Nee. JSON is een gegevensformaat, geen taal. Het kan op zichzelf niets doen — het beschrijft alleen gegevens. Hoewel het uit JavaScript komt, kan vrijwel elke programmeertaal het lezen en schrijven.

Wat is het verschil tussen JSON en een JavaScript-object?

Ze lijken op elkaar, maar JSON is strenger. In JSON moet elke sleutel tussen dubbele aanhalingstekens staan, tekst gebruikt dubbele aanhalingstekens, er zijn geen opmerkingen, geen komma’s aan het eind, en waarden zijn beperkt tot tekst, getallen, true, false, null, objecten en arrays.

Waarom zegt mijn JSON dat het ongeldig is?

De gebruikelijke oorzaken zijn een komma na het laatste item, enkele aanhalingstekens in plaats van dubbele, een ontbrekende komma tussen items, een niet-gesloten haakje of een opmerking. Plak het in een JSON-validator en die wijst de regel aan.

Mythex · Pricing · Bouw alles met AI · Website- en app-templates · Mythex vergeleken · Woordenlijst voor apps bouwen met AI · Gratis tools voor apps bouwen met AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)