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.
- 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)