MedMij maakt gebruik van verschillende lijsten voor onder andere de beveiliging van het MedMij netwerk. Deze lijsten bevatten deelnemerinformatie en zijn opgemaakt in XML. Al enige tijd speelt de vraag of XML wel het wenselijke formaat is, of dat gekozen moet worden voor JSON.
JSON en XML zijn formats waarmee gegevens worden gepresenteerd. Beide vormen kunnen worden gebruikt bij gegevensuitwisseling tussen applicaties. JSON is een open gegevensuitwisselingsformaat dat leesbaar is voor zowel mensen als machines. JSON is onafhankelijk van welke programmeertaal dan ook en is een veelgebruikte API-uitvoer in een breed scala aan toepassingen. XML is een opmaaktaal die regels biedt om gegevens te definiƫren. Het maakt gebruik van tags om onderscheid te maken tussen gegevensattributen en de daadwerkelijke gegevens. Hoewel beide formaten worden gebruikt bij gegevensuitwisseling, is JSON de nieuwere, flexibelere en populairdere optie.
Overeenkomsten
JSON en XML zijn beide formaten waarmee gegevens opgemaakt worden voor communicatie binnen en tussen informatiesystemen. Hiermee kunnen gegevens op een gestandaardiseerde manier uitgewisseld worden. Hiermee worden de communicatie gestandaardiseerd, het gebruik van de informatie blijft een applicatie-aangelegenheid.
Om gegevens onderling uit te wisselen, moeten de volgende stappen worden ondernemen:
Converteer de gegevens naar XML of JSON
Verzend het XML- of JSON-bestand via het MedMij netwerk
Converteer het XML- of JSON-bestand naar een voor de applicatie leesbare variant.
Voor beide formaten is de werking in deze zin hetzelfde.
Verschillen
Format
JSON gebruikt key-value pairs om een boomstructuur te creƫren. De sleutel (key) is een string, die het paar identificeert. De waarde (value) is de informatie die u aan die sleutel geeft. XML is daarentegen een opmaaktaal: een subset van SGML met een structuur die lijkt op HTML. Het slaat gegevens op in een boomstructuur die informatielagen presenteert die u kunt volgen en lezen. De boom begint met een hoofdelement (bovenliggend element) voordat er informatie wordt gegeven over onderliggende elementen. Deze uitgebreide structuur is handig bij het laden van veel variabelen en dynamische configuraties.
{ organisaties: [ { naam: "MedMij" adres: { straat: "Maanweg" huisnummer: 174 toevoeging: "Gebouw C, 3e etage" postcode: "2516 AB" stad: "Den Haag" } } ] }
<organisaties> <organisatie> <naam>MedMij</naam> <adres> <straat>Maanweg</straat> <huisnummer>174</huisnummer> <toevoeging>Gebouw C, 3e etage</toevoeging> <postcode>2516 AB</postcode> <stad>Den Haag</stad> </adres> </organisatie> </organisaties>