25 JSON-fouten die elke developer maakt
JSON is de ruggengraat van webcommunicatie. Het is lichtgewicht en gemakkelijk leesbaar. De regels zijn echter strikt. Kleine fouten kunnen je code laten crashen.
Vermijd deze veelvoorkomende fouten om betere datastructuren te schrijven.
Syntaxfouten
- Gebruik alleen dubbele aanhalingstekens. Enkele aanhalingstekens werken in JavaScript, maar falen in JSON.
- Verwijder overbodige komma's aan het einde. Een komma na het laatste item veroorzaakt een crash.
- Voeg ontbrekende komma's toe. Tussen elke key-value pair moet een komma staan.
- Zet alle keys tussen aanhalingstekens. Elke key moet tussen dubbele aanhalingstekens staan.
- Zorg dat je haakjes kloppen. Gebruik geen accolades waar vierkante haken horen.
Fouten in datatypes
- Ga om met
undefined-waarden. JSON ondersteuntundefinedniet. Gebruik in plaats daarvannull. - Vermijd
NaNenInfinity. Deze waarden wordennulltijdens serialisatie. - Houd rekening met datumformaten. JSON behandelt datums als strings. Je moet ze weer parsen naar
Date-objecten. - Gebruik decimale getallen (base-10). Gebruik geen hexadecimale of octale formaten.
- Sla geen functies op. JSON is alleen bedoeld voor statische data.
- Vermijd commentaar. JSON staat geen
//of/* */commentaar toe. - Escape dubbele aanhalingstekens. Gebruik een backslash om aanhalingstekens binnen een string op te nemen.
- Gebruik
\nvoor nieuwe regels. Je kunt niet op enter drukken binnen een string-waarde. - Escape backslashes. Gebruik
\\voor paden of regex-patronen.
Omgevings- en logische fouten
- Controleer je input. Geef geen object door aan
JSON.parse(). - Let op hoofdlettergebruik.
"userId"en"userid"zijn verschillende keys. - Vertrouw niet op de volgorde. JSON garandeert de volgorde van de keys niet.
- Gebruik nooit
eval(). GebruikJSON.parse()om beveiligingsrisico's te voorkomen. - Bescherm grote getallen. Geef 64-bit ID's door als strings om precisieverlies te voorkomen.
- Gebruik
try...catch-blokken. Ongeldige JSON laat je app crashen als je de fouten niet opvangt. - Los circulaire referenties op. Je kunt een object dat naar zichzelf verwijst niet omzetten naar een string.
- Ken het verschil. JSON is restrictiever dan een standaard JavaScript-object.
- Vermijd lege strings. Gebruik
{}of[]in plaats van"".
Hoe je veilig blijft:
- Gebruik een validator om je syntax te controleren.
- Gebruik Prettier in je editor om bestanden automatisch te formatteren.
- Wikkel parsing-logica altijd in een
try...catch-blok.
Bron: https://dev.to/jsdevspace/25-json-mistakes-every-developer-makes-36e6
