Begin met de gegevensstructuur

JSON beschrijft objecten, arrays, teksten, getallen, booleans en null. CSV is een tabel van velden en records zonder hetzelfde ingebouwde typesysteem. Gebruik CSV voor een vaste indeling in rijen en kolommen. Bewaar JSON bij geneste objecten of lijsten met wisselende lengte. Een nette tabel bewijst niet dat alle oorspronkelijke relaties behouden bleven.

Bewaar identificaties als tekst

Een code als 00127 is een identificatie en niet per se het getal 127. Sla die als tekst op en importeer de spreadsheetkolom als tekst. Dit geldt ook voor telefoonnummers en zeer grote numerieke ID’s. Gewone JavaScript-getallen kunnen niet ieder geheel getal boven 9.007.199.254.740.991 exact weergeven. Gebruik bij belangrijke precisie tekst tussen aanhalingstekens of een tool die het benodigde bereik expliciet ondersteunt.

Laat een parser CSV verwerken

Een komma in een veld tussen aanhalingstekens is inhoud, geen kolomgrens. Zo’n veld kan ook een regeleinde bevatten; dubbele aanhalingstekens binnen het veld moeten worden ontsnapt. Iedere regel eenvoudig op komma’s splitsen is dus onvoldoende. Controleer scheidingsteken, kopregel, dubbele kolomnamen en het verwachte aantal velden. Verwijder ongeldige records niet ongemerkt.

Bepaal hoe geneste waarden worden omgezet

Een bestelling met meerdere artikelen heeft een duidelijke exportregel nodig. Gebruik bijvoorbeeld een aparte artikeltabel met bestel-ID, of bewaar de lijst als JSON-tekst in één cel. Afvlakken kan onduidelijke namen geven wanneer sleutels het gekozen scheidingsteken al bevatten. Leg de mapping vast en gebruik dezelfde regel bij terugimporteren. Objectsleutels sorteren is niet hetzelfde als de volgorde van een array veranderen.

Test eerst een kleine heen-en-terugconversie

Converteer een representatieve steekproef, importeer die opnieuw en vergelijk aantallen en geselecteerde waarden. Neem accenten, lege tekst, null, aanhalingstekens en meerregelige tekst mee. Controleer bij een onbetrouwbaar CSV-bestand cellen die als spreadsheetformule kunnen worden opgevat en gebruik de tekstimportinstellingen. Bewaar bronbestand en instellingen. Zo ontdek je betekenisveranderingen die een geslaagde downloadmelding niet laat zien.

Redactioneel onderzoek op basis van de onderstaande bronnen.

www.rfc-editor.org · developer.mozilla.org