8.2 JSON
JSON is ook een platte-tekst-format, maar met veel meer mogelijkheden dan csv. De kracht is data je dat kan nesten, dus spreadsheets binnen spreadsheets. Dat kan heel handig zijn als je bijv. van een verzameling sensoren verschillende metingen op wil slaan.
Voordeel van JSON, en alle andere platte-tekst-formats is dat je die in iedere willekeurige editor kan lezen. Voor langetermijn dataopslag een slimme keuze!
Veel online beschikbare data is in JSON-format (denk aan weer- of satellietdata).
8.2.1 Inlezen
Met functie fromJSON()
, van de package jsonlite, kan je JSON files lezen.
Je moet dus eerst de package jsonlite installeren (install.packages("jsonlite")
).
JSON-bestanden zijn veel stricter opgezet dan de variatie die bestaat bij csv.
Dus meestal hoef je verder niet meer te doen dan fromJSON(path)
, waarbij path de naam en eventueel locatie van het JSON-bestand is.
8.2.2 Unnesten
Vaak heb je de situatie waarbij de data genest is volgens een locatie of sensor.
Dan heb je heb je voor iedere locatie/sensor een op dezelfde manier opgebouwd dataframe.
Soms is dit de meest praktische manier (als je bijvoorbeeld een sensor wilt bekijken), maar het kan ook handig zijn om alles in een dataframe te zetten zodat je sensoren/locaties kan vergelijken.
Package jsonlite heeft daar een simpele functie voor: rbindpages()
.
Af en toe heeft een JSON-bestand een complexere opzet (met dubbele nesting, etc.). Dan kan het een hele kluif zijn om daar een geschikte format van te maken voor verdere analyse.