RevealTheme logo

JSON-formatter en -validator

Formatteer, verfraai, valideer en minificeer JSON. Wordt volledig in uw browser uitgevoerd, zodat uw gegevens nooit uw apparaat verlaten.

Hoe u deze tool gebruikt

  1. 1

    Plak je JSON in het invoerveld.

  2. 2

    Klik op Opmaken om het netjes met inspringing weer te geven, of op Minify om witruimte te verwijderen.

  3. 3

    Fouten verwijzen naar de exacte regel en kolom waar het parsen mislukte.

  4. 4

    Kopieer het resultaat naar je klembord.

Wat is JSON en waarom is het formatteren ervan belangrijk?

JSON (JavaScript Object Notation) is de lingua franca van moderne web-API's, configuratiebestanden en gestructureerde gebeurtenisregistratie. Elke REST- en GraphQL-API retourneert JSON; elke package.json, tsconfig.json en de meeste CI-configuraties zijn JSON; AWS, GCP en Azure spreken JSON in hun CLI's. De kracht van JSON is de minimale grammatica: zes structurele tekens ({}, [], komma, dubbele punt, aanhalingstekens), vier primitieve typen (string, getal, boolean en null) en recursieve nesting. Dat minimalisme is ook het nadeel: JSON ondersteunt geen commentaar, geen afsluitende komma's, geen ongequote sleutels en geen strings over meerdere regels. Eén verkeerd geplaatst aanhalingsteken of komma breekt het hele document. Deze tool valideert de invoer volgens RFC 8259 (de JSON-specificatie) en presenteert deze vervolgens met consistente inspringing om te lezen, of verwijdert alle witruimte voor verzending over het netwerk. Het parsen en formatteren wordt volledig in uw browser uitgevoerd via de native functies JSON.parse en JSON.stringify van de JavaScript-engine, dezelfde code die op de Node.js-servers en in alle browsers draait. Dat betekent dat uw gegevens nooit over het netwerk reizen en dat het validatiegedrag hier exact overeenkomt met wat uw code in productie zal zien.

Veelvoorkomende toepassingen

  • Debug API-antwoorden door ze in de formatter te plakken – zie meteen de structuur die geminificeerde JSON verbergt.

  • Valideer JSON voordat je het naar een strikte consument stuurt (AWS CloudFormation, Kubernetes-manifesten, enz.).

  • Maak logs op van gestructureerde logbibliotheken (Pino, Bunyan) die JSON op één regel uitvoeren.

  • Minify configuratiebestanden voordat je ze insluit in HTML of omgevingsvariabelen (kleiner, minder bytes om te parsen).

  • Maak JSON Web Token-payloads op nadat je ze uit Base64 hebt gedecodeerd.

  • Vergelijk twee API-antwoorden door beide op te maken en de verschillen te bekijken.

Veelgestelde vragen

Verlaat mijn JSON de browser?
Nee. Al het parsen en formatteren gebeurt in uw browser via de ingebouwde functies JSON.parse en JSON.stringify. De gegevens bereiken nooit een server en verschijnen niet in logboeken. Het is veilig om te gebruiken met API-antwoorden die tokens, klantgegevens of andere geheimen bevatten.
Kan ik JSON5 of JSONC (met commentaar) formatteren?
Nee: deze tool volgt de strikte JSON-specificatie (RFC 8259). Commentaar en afsluitende komma's zijn syntaxisfouten en leveren een foutmelding van de parser op. Gebruik voor flexibele JSON-varianten een JSON5-parser zoals json5.org, of laat uw invoer eerst door een preprocessor lopen die de commentaren verwijdert.
Welke inspringgrootte moet ik gebruiken?
2 spaties is de conventie van JavaScript en het web, en de meest universele. 4 spaties is de standaard van het Python-ecosysteem (komt overeen met de inspringing van PEP 8). Tabs worden inconsistent weergegeven tussen editors en breken vergelijkingstools; vermijd ze tenzij uw team een strikte tab-conventie heeft. De keuze is puur esthetisch; parsers maakt het niet uit.
Waarom is geminificeerde JSON belangrijk?
Geminificeerde JSON bespaart bytes, wat op grote schaal aanzienlijk is (bijvoorbeeld een openbare API die 100 KB aan gegevens retourneert op miljoenen verzoeken). Voor kleine configuratiebestanden (van enkele KB) is het verschil verwaarloosbaar. De parsetijden van de browser zijn identiek voor geformatteerde en geminificeerde JSON, dus de enige reden om te minificeren is bandbreedte.
Hoe interpreteer ik de foutmeldingen?
De foutmeldingen van JSON.parse in JavaScript bevatten de positie (verschuiving vanaf het begin) waar het parsen is mislukt. Veelvoorkomende fouten: 'Unexpected token' duidt meestal op een ontbrekend aanhalingsteken of komma, of een speciaal teken dat niet is geëscaped. 'Unexpected end of JSON input' betekent dat het document is afgekapt. 'Unexpected non-whitespace character' duidt vaak op een afsluitende komma.
Kan ik zeer grote JSON-bestanden formatteren?
De JSON.parse van de browser verwerkt bestanden tot ongeveer 100 MB voordat de prestaties problematisch worden. Gebruik voor grotere bestanden jq op de opdrachtregel: het kan willekeurig grote JSON-bestanden streamend verwerken.
Wat is het verschil tussen JSON en JavaScript-objectliteralen?
JSON is een strikte subset van de syntaxis van JavaScript-objectliteralen. Verschillen: JSON-sleutels moeten strings tussen dubbele aanhalingstekens zijn (JS staat ongequote sleutels en enkele aanhalingstekens toe); JSON verbiedt commentaar, afsluitende komma's en undefined; JSON heeft geen expressies, functieaanroepen of berekende waarden. JavaScript kan JSON veilig evalueren; JSON kan geen willekeurige JavaScript evalueren.

Gerelateerde tools