Wat is het verschil tussen XML en JSON?
Het verschil tussen XML en JSON is strengheid tegenover eenvoud.
Beide bewaren gegevens in leesbare tekst.
Ze doen dat alleen met een heel andere insteek.

Wat XML sterker maakt
Je kunt vastleggen welke velden verplicht zijn en welk type ze hebben. Een bestand dat daar niet aan voldoet, wordt geweigerd.
Meer daarover lees je bij wat XML is.
Wat JSON sterker maakt
Het is korter, sneller te verwerken en past naadloos bij de taal waarin webpagina’s draaien.
Meer daarover lees je bij api.
Wanneer je welke ziet
Nieuwe koppelingen zijn bijna altijd in JSON. Oudere systemen bij banken, overheden en vervoerders houden vast aan XML.
Meer daarover lees je bij backend.
Hoe je ze uit elkaar houdt
- Puntige haken en labels? Dan is het XML.
- Accolades en aanhalingstekens? Dan is het JSON.
- Veel herhaling van veldnamen? Meestal XML.
- Compact en met veel komma’s? Meestal JSON.
Regel één volstaat in de praktijk vrijwel altijd.
Kun je omzetten?
Ja, in beide richtingen. Vrijwel elke koppelingsdienst kan dat automatisch.
Meer daarover lees je bij webhook.
Wat betekent dit voor jou?
Weinig. Je leverancier bepaalt het formaat en je koppeling vertaalt het.
Meer daarover lees je bij of je er iets mee moet.
Wat ik in de praktijk zie misgaan
Voor de meeste ondernemers speelt dit verschil pas op één moment: bij een koppeling met een ander systeem.
Dan blijkt de leverancier gegevens aan te leveren in het ene formaat terwijl het pakket het andere verwacht, en wordt er een tussenstuk gebouwd om het om te zetten. Dat werkt, tot er aan één kant iets verandert en niemand meer weet waar het misgaat.
Wat ik daarbij het vaakst zie ontbreken is niet techniek maar afspraken: wie is eigenaar van dat tussenstuk, en wie krijgt bericht als de koppeling stilvalt.
Ik regel daarom altijd twee dingen. Er komt een melding als er een dag lang niets is doorgekomen, want anders merk je een storing pas als een klant belt. En ik leg vast in gewone taal welke velden er over en weer gaan.
Die twee dingen kosten een middag en voorkomen de meeste ellende die ik bij koppelingen tegenkom.
Meer daarover lees je bij json.