DevToolPal
NL

JSON5 naar JSON converter

Zet JSON5 of JSONC (commentaar, afsluitende komma’s, sleutels zonder aanhalingstekens, enkele aanhalingstekens) om naar strikte, standaard JSON.

Draait lokaal, wordt nooit geüpload

Opties

Inspringing

Invoer

0 tekens · 0 B

Uitvoer

0 tekens · 0 B

Wat het doet

JSON5 is een uitbreiding van JSON voor bestanden die mensen met de hand schrijven. Het staat commentaar toe, afsluitende komma’s, objectsleutels zonder aanhalingstekens, strings tussen enkele aanhalingstekens en een paar handigere notaties voor getallen. Tools zoals Babel, sommige bundlers en veel applicaties accepteren JSON5 of JSONC (JSON met commentaar, gebruikt door tsconfig.json en de instellingen van VS Code) als configuratieformaat.

Veel parsers, API’s en programmeertalen accepteren echter alleen strikte JSON. Deze converter leest JSON5 of JSONC en geeft standaard JSON terug die elke parser accepteert: alle sleutels tussen dubbele aanhalingstekens, geen commentaar, geen afsluitende komma’s en getallen in decimale notatie.

Zo gebruik je het

  1. Plak je JSON5 of JSONC, upload een .json5-, .jsonc- of .json-bestand, of klik op Voorbeeld.
  2. Kies de Inspringing: 2 of 4 spaties, of Compact voor één regel.
  3. Kies wat er met Infinity en NaN gebeurt: omzetten naar null, omzetten naar strings of een fout tonen.
  4. Kopieer of download de JSON.

Bevat de invoer een syntaxfout, dan toont de melding de regel en kolom, zodat je er direct naartoe kunt springen. Gewone JSON is ook geldige JSON5, dus je kunt de tool ook gebruiken om te controleren of een bestand te parsen is en om het opnieuw in te springen.

Voorbeeld

Deze JSON5-configuratie:

// Server settings
{
  host: 'localhost',
  port: 0x1F90,      // 8080
  ratio: .5,
  tags: ['api', 'v2',],
}

wordt deze strikte JSON:

{
  "host": "localhost",
  "port": 8080,
  "ratio": 0.5,
  "tags": [
    "api",
    "v2"
  ]
}

Het commentaar is verwijderd, sleutels en strings krijgen dubbele aanhalingstekens, het hexadecimale getal en het decimale getal zonder geheel deel worden decimaal geschreven en de afsluitende komma’s verdwijnen.

Wat er wordt omgezet

  • Regelcommentaar // en blokcommentaar /* */ worden verwijderd.
  • Sleutels zonder aanhalingstekens zoals port en strings tussen enkele aanhalingstekens zoals 'localhost' krijgen dubbele aanhalingstekens.
  • Strings die met een backslash aan het einde van een regel doorlopen, worden samengevoegd tot één string.
  • Hexadecimale getallen (0xFF), een decimale punt aan het begin of einde (.5, 5.) en expliciete plustekens (+3) worden gewone decimale getallen.
  • Afsluitende komma’s in objecten en arrays worden weggelaten.
  • Komt een sleutel twee keer voor, dan wint de laatste waarde, net als in JavaScript.

Veelgestelde vragen

› Wat is het verschil tussen JSON5 en JSONC?

JSONC is JSON met commentaar (en in VS Code ook afsluitende komma’s). JSON5 gaat verder: sleutels zonder aanhalingstekens, strings tussen enkele aanhalingstekens, strings over meerdere regels, hexadecimale getallen, een decimale punt aan het begin of einde, Infinity en NaN. JSON5 is een superset van JSONC, dus deze tool leest beide.

› Blijft mijn commentaar behouden?

Nee. Standaard JSON heeft geen syntaxis voor commentaar, dus dat wordt verwijderd. Wil je het bewaren, houd dan het JSON5-bestand als bron en genereer de JSON daaruit.

› Wat gebeurt er met Infinity en NaN?

Strikte JSON kan ze niet weergeven. Standaard worden ze null, net als bij JSON.stringify in JavaScript. Je kunt ze ook omzetten naar strings of een fout laten tonen met het exacte pad.

› Worden mijn gegevens geüpload?

Nee. Parsen en omzetten gebeuren volledig in je browser, dus configuratiebestanden met geheimen verlaten je apparaat nooit.