JSON: Wat het is en hoe je het kunt gebruiken
JSON-logo
JSON staat voor JavaScript Oject Notation. En dat is precies wat het is: Een op JavaScript
gebaseerde manier om gegevens weer te geven en op te slaan.
Deze notatie is bedacht door Douglas Crockford. Het steekt XML als
taal om data uit te wisselen naar de kroon. Dat komt vooral omdat het eenvoudig te begrijpen is.
Daarnaast zijn er, naast JavaScript, omzetters beschikbaar voor veel programmeertalen. Denk hierbij aan web-talen zoals ASP,
ASP.NET, VB.NET, C# en PHP, maar ook aan "algemene" programmeertalen zoals C++, Delphi, Lisp en Visual Basic. Ze zijn
er ook voor SQL, wat het werken met databases gemakkelijker maakt.
Het gebruik van JSON beperkt zich dus niet tot het web.
De gegevens worden in JSON opgeslagen als data-paren, te weten variabele:waarde. De naam en de waarde binnen
een data-paar worden gescheiden door een dubbele punt.
Dit alles wordt achter elkaar in een string gezet, gescheiden door komma's.
Voorbeeld: Het object:
var gegevens = new Object();
gegevens.Voornaam = "Jan";
gegevens.Achternaam = "Klasen";
gegevens.Adres = "Poppenkastweg 21";
gegevens.Postcode = "9876 JK";
gegevens.Woonplaats = "Sprookjesdorp";
wordt in JSON geschreven als:
var gegevens = {
"Voornaam":"Jan",
"Achternaam":"Klasen",
"Adres":"Poppenkastweg 21",
"Postcode":"9876 JK",
"Woonplaats":"Sprookjesdorp"
};
Je kunt in JSON bijna alle soorten gegevens kwijt, dus ook arrays, objecten en hexadecimale getallen. Het is echter niet mogelijk om methodes van een object met JSON weer te geven. Het is dus beperkt tot data.
De volledige taalbeschrijving vind je op JSON.org, ook in het Nederlands.
JSON is in principe in elke moderne browser beschikbaar via een API, omdat het onderdeel is van de JavaScript standaarden.
Je hoeft dus geen apart JavaScript-bestand in je code te zetten om het te gebruiken.
Helaas is de praktijk iets minder mooi. Met name in Internet Explorer kan het fout gaan. Daarom is het beter om toch een
(klein) JavaScript in je code op te nemen. Dat zorgt ervoor dat je toch met JSON kunt werken als de JSON API niet beschikbaar
is. Het originele script staat op de site van Douglas
Crockford. De zip-file bevat een aantal bestanden, waarvan JSON2.JS de beste keuze is.
Je kunt ook een geminimaliseerde versie downloaden vanaf deze site. Daar is alle opmaak en
commentaar uit verwijderd.
De JSON API is in feite een object, met maar twee methodes:
- Stringify(object). Hiermee zet je een object (waarvan je de naam mee geeft als argument) om in een string in JSON-formaat
- parse(string). Hiermee zet je een string in JSON-formaat om in een JavaScript object.
Als voorbeeld gebruiken we het object gegevens dat we hiervoor hebben getoond. Als je op de knop klikt zie je een
alert met de JSON-notatie van het object gegevens, aangemaakt met JSON.stringify(). Er verschijnt een tweede knop,
waarmee je de JSON-string met JSON.parse() kunt laten terugvertalen naar een object.
De alert geeft aan dat het een object van het type Object is.
Waar gebruik je het voor?
Toegespitst op websites:
- Je kunt de JSON notatie gebruiken om complexe datastucturen uit te wisselen tussen programma's en computers, bijvoorbeeld formulier-informatie tussen de server en de gebruikers-PC.
- Je kunt JSON ook gebruiken om data op te slaan in je eigen browser, bijvoorbeeld een adresboek. Zie het item HTML Web Storage: Wat het is en hoe je het kunt gebruiken