Skip to main content

JSON File

In deze opdracht ga je een JSON-file analyseren. JSON is een file formaat om data op te slaan. De data wordt gestructureerd opgeslagen en is leesbaar (als txt). Het formaat lijkt een beetje op een assiociative array en wordt veel gebruikt bij REST API's.

De opdracht

Van een onderzoeksbureau heb je twee JSON-bestanden gehad. Het bestand bevat gegevens van Corona patiënten. Omwille van de privacy van de patiënten worden geen namen gebruikt, maar anonieme patiëntnummers.

Aan elke patiënt wordt een codering toegekend. In het schema hieronder worden de coderingen toegelicht.

Codering Betekenis
0 Vermoedelijk Covid-19
1 Covid-19 vastgesteld - patiënt ligt op gewone afdeling
2 Covid-19 vastgesteld - patiënt ligt op de intensive care
3 Patiënt is genezen
4 Patiënt is overleden

Je krijgt een functie waarmee je het JSON-bestand kan inlezen. De functie krijgt de file naam mee als parameter en de return value is een assiociative array. Het array ziet er bijvoorbeeld als volgt uit:

Key Value Betekenis
p-nc-199134 3 Patiënt p-nc-199134 is genezen
p-nc-199114 2 Patiënt p-nc-199114 ligt op IC
p-nc-199126 0 Patiënt p-nc-199126 heeft vermoedelijk Covid-19

Je krijgt twee bestanden:

p-nc-191.json bestand van een dag
p-nc-192.json bestand van de volgende dag

De bestanden staan op deze pagina - links.

Met de functie die hieronder staat kan je het JSON-bestand lezen en krijg je een assiociative array.

<?php

function getData($file) { // JSON bestand
  if ( file_exists($file) ) {
    return(json_decode(file_get_contents($file), true)); // return assiociative array
  } else {
    return(0);
  }
}

Lees met behulp van de gegeven functie de bestanden in.

De vragen

De opdrachtgever heeft de volgende vragen.

  1. Maak een overzicht van beide dagen waarbij van elke categorie wordt aangegeven hoeveel patiënten er zijn.
    Bijvoorbeeld:
    Er zijn 212 patiënten die vermoedelijk Covid-19 hebben.
    Er zijn 376 patiënten waarbij Covid-19 is vastgesteld.
    etc.
    (het liefst heeft de opdrachtgever deze gegevens netjes in een tabel)
  2.