# JSON-formatter

URL: https://discuvr.org/json-formatter/?hl=nl
Last updated: 2026-11-07
MCP tool: `format_json`

Plak JSON en krijg het direct ingesprongen, geminimaliseerd of gevalideerd. Bij kapotte JSON zie je de exacte regel en kolom van de fout. Niets wordt opgeslagen.

JSON dat uit een API-log of een configuratiebestand komt, is meestal één lange regel, en JSON dat niet te parsen is, mislukt meestal ergens die je niet ziet. Dit tool laat het inspringen zodat je het kunt lezen, minimaliseert het wanneer je het compact nodig hebt, en vertelt je bij kapotte JSON de regel en kolom en toont je die regel.

## Wat het doet

- Mooi maken met 2 spaties, 4 spaties of tabs - of minimaliseren tot de kleinste geldige vorm.
- JSON Lines-uitvoer: één compact record per regel, voor logs en streamformaten.
- Precieze foutmeldingen - het bericht, de regel, de kolom en de omliggende regels.
- Optioneel de sleutels van elk object sorteren, zodat twee documenten zinvol vergeleken kunnen worden.
- Optioneel niet-ASCII-tekens escapen naar \uXXXX, voor systemen die geen UTF-8 aankunnen.
- Optioneel commentaar en afsluitende komma's accepteren, met precieze vermelding van wat verwijderd is.
- Rapporteert de vorm van het document: sleutels, objecten, arrays, nestdiepte en bespaarde grootte.

## Hoe het werkt

1. Plak de JSON, of wat je hoopte dat JSON was.
2. Kies mooi maken, minimaliseren of JSON Lines en druk op Formatteren.
3. Kopieer of download het resultaat - of lees de fout en herstel de genoemde regel.

## Waarom de foutmelding belangrijker is dan de opmaak

Meestal ben je hier niet om JSON mooi te maken - je bent hier omdat iets het heeft afgewezen zonder te zeggen waarom. De parser rapporteert de regel, de kolom en wat hij verwachtte, en het tool drukt die regel af samen met de twee eromheen. Een ontbrekende komma vierhonderd regels diep in een configuratie is een reparatie van dertig seconden zodra je weet waar hij zit.

## Commentaar en afsluitende komma's

JSON heeft geen van beide ooit toegestaan, maar de bestanden die mensen je daadwerkelijk geven - tsconfig, VS Code-instellingen, alles wat handmatig bewerkt is - staan er vol mee. Het aanvinken van de optie verwijdert ze vóór het parsen, en het tool vermeldt vervolgens hoeveel commentaarregels en hoeveel komma's het heeft verwijderd. Het is optioneel en wordt precies gerapporteerd omdat een opmaker die je document stilletjes wijzigt erger is dan een die het weigert.

## Wat het niet doet

Het raadt niet wat je bedoelde. Afgezien van de twee verwijderingen hierboven wordt niets hersteld: een niet-gesloten accolade, een sleutel tussen enkele aanhalingstekens of een sleutel zonder aanhalingstekens wordt gerapporteerd, niet herschreven. Sleutels sorteren en opnieuw inspringen veranderen nooit de volgorde van een array en nooit een string. De volgende sectie noemt de paar gevallen waarin de uitvoer toch kan afwijken van wat je plakte.

## Getallen, dubbele sleutels en NaN

Je JSON wordt geparsed en opnieuw uitgeschreven, dus een paar dingen komen genormaliseerd terug. Getallen worden opnieuw geschreven: 1.50 wordt 1.5, 1E3 wordt 1000.0 en -0 wordt 0, en een decimaal getal met meer cijfers dan een 64-bits float kan bevatten wordt afgerond (0.1000000000000000055 wordt 0.1). Gehele getallen blijven exact tot 4.300 cijfers (langere worden geweigerd). Herhaalt een object een sleutel, dan blijft alleen de laatste waarde over, zonder waarschuwing. NaN, Infinity en -Infinity worden geaccepteerd en doorgegeven, hoewel standaard-JSON (RFC 8259) ze niet toestaat, en een getal dat te groot is voor een float, zoals 1e400, komt eruit als Infinity. Als iets hiervan uitmaakt voor het systeem dat je voedt, controleer het dan zelf voordat je een foutloos resultaat vertrouwt.

## Vragen

**Wordt mijn JSON ergens geüpload of opgeslagen?**

Het wordt naar de server gestuurd om te worden geparsed en direct teruggestuurd in hetzelfde antwoord. Niets wordt op schijf geschreven, gecachet of gelogd, en het gebruiksrecord bevat alleen aantallen - grootte, nestdiepte, gekozen modus - nooit het document.

**Waarom zegt het dat mijn JSON ongeldig is terwijl mijn editor het accepteert?**

Meestal door commentaar, afsluitende komma's, enkele aanhalingstekens of sleutels zonder aanhalingstekens - allemaal gebruikelijk in configuratiebestanden en geen van alle geldige JSON. Vink "commentaar en afsluitende komma's toestaan" aan voor de eerste twee; de andere zijn echt ongeldig en moeten worden gecorrigeerd.

**Kan het een groot bestand aan?**

Tot 2.000.000 tekens per verzoek; langere invoer wordt geweigerd met de exacte lengte erbij. Voor bestanden van die omvang is een opdrachtregeltool zoals jq het betere instrument.

**Waar is JSON Lines voor?**

Log-pipelines en streaming-loaders lezen één JSON-object per regel in plaats van één grote array. Kies het en een array op het hoogste niveau komt terug als één compact record per regel.

**Verandert het sorteren van sleutels mijn gegevens?**

Nee. De volgorde van objectsleutels heeft geen betekenis in JSON, en de volgorde van een array - die wel betekenis heeft - wordt nooit aangeraakt. Sorteren bestaat zodat twee versies van hetzelfde document zonder ruis kunnen worden vergeleken.

**Hoe open ik deze JSON in Excel?**

Sla hem in Excel voor Microsoft 365 op als .json-bestand en kies Data > Get Data > From File > From JSON (Gegevens > Gegevens ophalen > Uit bestand > Uit JSON). Power Query opent hem: een array op het hoogste niveau verschijnt als List, To Table (Naar tabel) maakt er een kolom met Records van, en de uitvouwknop (twee pijlen) in de kolomkop zet elke sleutel in een eigen kolom; een geneste array uitvouwen geeft een rij per item. Power Query heeft precies een geldig JSON-document nodig, dus los fouten eerst hier op, waar je regel en kolom ziet, en sla dan de uitvoer van Verfraaien of Minificeren op; de uitvoer JSON Lines is bedoeld voor logtools. Deze tool zet JSON zelf niet om naar CSV of Excel.

**Hoe valideer of formatteer ik JSON op de opdrachtregel?**

Python heeft een controle ingebouwd: python -m json.tool data.json toont het document met 4 spaties inspringing, of stopt met een melding als Expecting ',' delimiter: line 3 column 3. Met jq geïnstalleerd maakt jq . data.json het netjes op en controleert jq empty data.json alleen, zonder uitvoer als het bestand geldig is. Geen van beide accepteert opmerkingen of afsluitende komma's, dus een configuratiebestand met die dingen faalt daar; plak het hier en vink "Opmerkingen en afsluitende komma's toestaan" aan om te zien wat er is verwijderd.

**Wat betekent "Expecting property name enclosed in double quotes"?**

De parser verwachtte een objectsleutel en vond iets anders. Meestal staan de sleutels tussen enkele aanhalingstekens of helemaal niet, zoals {'name': 'Asha'} gekopieerd uit Python of JavaScript, dat stopt op regel 1, kolom 2: JSON vereist dubbele aanhalingstekens rond elke sleutel en elke string, en deze tool herschrijft aanhalingstekens nooit, dus pas ze zelf aan. Dezelfde melding bij een sluitende accolade, zoals bij {"a": 1,}, wijst op een afsluitende komma; vink "Opmerkingen en afsluitende komma's toestaan" aan om die te verwijderen. Expecting value bij True, False of None wijst op Python-waarden: JSON schrijft true, false en null in kleine letters. In Python geeft json.dumps(data) geldige JSON en print(data) niet. Fouten worden getoond zoals de Python-parser ze formuleert, in het Engels, zodat de melding letterlijk op te zoeken is.

**Wat betekent "Extra data"?**

De parser heeft een volledige JSON-waarde gelezen en daarna nog meer tekst gevonden. Veelvoorkomende oorzaken: een log in JSON Lines (NDJSON) met één object per regel, dat stopt op regel 2, kolom 1; twee documenten achter elkaar geplakt; of een //-opmerking na de laatste sluitende accolade, die "Opmerkingen en afsluitende komma's toestaan" verwijdert. Deze tool controleert één document tegelijk: plak één record, of zet de records tussen [ ] met een komma ertussen; met JSON Lines worden ze daarna weer één per regel uitgeschreven.

## Meer in Ontwikkelaarstools

- [Python Formatter](https://discuvr.org/python-formatter/?hl=nl)
- [HTML Viewer](https://discuvr.org/html-viewer/?hl=nl)
- [IP-Subnetcalculator](https://discuvr.org/ip-subnet-calculator/?hl=nl)
- [Coderen / Decoderen](https://discuvr.org/encode-decode/?hl=nl)

## Vaak gebruikt met

- [CSV naar Excel](https://discuvr.org/csv-to-excel/?hl=nl)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
