Skip to main content
CheckTown
Converters

JSON5 naar JSON converter: configuratiebestanden opschonen

Gepubliceerd 5 min lezen
In dit artikel

Wat is JSON5?

JSON5 is een superset van JSON die functies toevoegt geinspireerd door de ECMAScript 5.1-syntaxis. Het is gemaakt om JSON menselijker te maken voor configuratiebestanden en andere gevallen waar mensen JSON handmatig schrijven en lezen. Elk geldig JSON-document is ook geldig JSON5, maar JSON5 voegt commentaren, afsluitende komma's, sleutels zonder aanhalingstekens en andere gemakken toe.

De JSON5-specificatie werd afgerond in 2018 en is breed geadopteerd in JavaScript-tooling. Build-tools zoals Babel, Next.js en Webpack accepteren JSON5-configuratiebestanden. Het converteren van JSON5 naar standaard JSON is nodig bij interoperabiliteit met systemen die alleen strikt JSON begrijpen, zoals API's, databases en de meeste programmeertalen.

JSON5-functies uitgelegd

JSON5 voegt verschillende syntaxisuitbreidingen toe die configuratiebestanden makkelijker maken om te schrijven en te onderhouden.

  • Commentaren — zowel enkelregelige (//) als meerregelige (/* */) commentaren zijn toegestaan, waardoor configuratiebestanden zelfdocumenterend worden
  • Afsluitende komma's — arrays en objecten mogen een komma na het laatste item hebben, wat diff-ruis vermindert
  • Sleutels zonder aanhalingstekens — objectsleutels die geldige ECMAScript-identifiers zijn, hebben geen aanhalingstekens nodig
  • Hexadecimale getallen — numerieke waarden kunnen als 0xFF worden geschreven, handig voor kleurcodes in configuratie
  • Meerregelige strings — stringwaarden kunnen meerdere regels beslaan met backslash-voortzetting
  • Speciale numerieke waarden — Infinity, -Infinity en NaN zijn geldige numerieke literals in JSON5

Probeer gratis — geen aanmelding vereist

Converteer JSON5 naar JSON →

Waar JSON5 wordt gebruikt

JSON5 wordt voornamelijk gebruikt in JavaScript-ecosysteem-tooling waar configuratiebestanden door ontwikkelaars worden geschreven en onderhouden.

  • Babel — .babelrc en babel.config.json5 bestanden ondersteunen JSON5-syntaxis voor buildconfiguratie met commentaren
  • TypeScript — tsconfig.json ondersteunt JSON5-functies zoals commentaren en afsluitende komma's (technisch JSONC)
  • Chrome DevTools — netwerkbeperkingsprofielen en andere instellingen gebruiken JSON5-formaat
  • Next.js — configuratiebestanden accepteren JSON5 voor ontwikkelaarsvriendelijke setup met inline documentatie

Veelgestelde vragen

Kunnen browsers JSON5 native parsen?

Nee. Browsers ondersteunen alleen standaard JSON via JSON.parse(). Om JSON5 in een browser of Node.js-applicatie te parsen, heb je het json5 npm-pakket nodig. Build-tools die JSON5 ondersteunen, verwerken het parsen intern tijdens hun buildstap.

Wat is het verschil tussen JSON5 en JSONC?

JSONC (JSON met commentaren) voegt alleen commentaarondersteuning toe aan JSON. JSON5 is een bredere superset die commentaren, afsluitende komma's, sleutels zonder aanhalingstekens, hexadecimale getallen, meerregelige strings en speciale numerieke waarden toevoegt. TypeScript's tsconfig.json en VS Code's settings.json gebruiken JSONC, terwijl Babel en andere tools volledig JSON5 gebruiken.

Is JSON5 hetzelfde als YAML?

Nee. JSON5 blijft dicht bij de JSON-syntaxis met kleine ergonomische toevoegingen. YAML is een compleet ander formaat met een op witruimte gebaseerde structuur, ankers en veel meer functies. JSON5 is makkelijker te converteren naar JSON omdat het een strikte superset is. YAML-naar-JSON-conversie kan gegevensverlies opleveren omdat YAML gegevenstypen ondersteunt die JSON niet heeft.

Gerelateerde Tools