JSON-formatter
Laat een JSON-document inspringen en maak het leesbaar met twee spaties, vier of tabs, desgewenst met gesorteerde sleutels, in je browser.
Draait volledig in je browser. Er wordt niets geüpload, gelogd of opgeslagen.
Plak een geminificeerd of slordig ingesprongen JSON-document en lees het zoals het hoort. De opmaak gebeurt in je browser, dus een payload vol tokens en klantgegevens verlaat je computer nooit.
Hoe het werkt
Het document wordt geparset met de eigen JSON-parser van de browser en daarna opnieuw uitgeschreven met de inspringing die je hebt gekozen. Omdat het echt parsen is en geen teksttransformatie, is alles wat eruit komt gegarandeerd geldige JSON, en wordt alles wat dat niet is gemeld met de positie waar de parser het opgaf.
Objectsleutels behouden hun oorspronkelijke volgorde, tenzij je vraagt ze te sorteren. De volgorde van arrays wordt nooit aangeraakt, omdat de volgorde van de elementen in een JSON-array betekenis heeft.
Voorbeelden
| Geval | Invoer | Resultaat |
|---|---|---|
| Een geminificeerd object | {"id":7,"tags":["a","b"],"ok":true} | { "id": 7, "tags": [ "a", "b" ], "ok": true } |
Veelgestelde vragen
Wordt mijn JSON naar een server gestuurd?
Nee. De pagina laadt een klein script dat het document lokaal parset en opnieuw opmaakt. Je kunt de netwerkverbinding verbreken zodra de pagina geladen is en de tool blijft werken.
Waarom faalt mijn document op een komma aan het eind?
Komma's aan het eind (trailing commas) zijn geldig in JavaScript, maar niet in JSON. Hetzelfde geldt voor commentaar, strings tussen enkele aanhalingstekens en sleutels zonder aanhalingstekens: die horen bij JavaScript-objectliteralen, niet bij de JSON-specificatie.
Worden mijn getalwaarden veranderd?
Getallen worden opnieuw uitgeschreven vanuit hun geparste waarde, dus de notatie kan veranderen terwijl de waarde gelijk blijft: 1e2 komt terug als 100. Gehele getallen boven 2^53 zijn de enige echte grens, omdat die niet exact kunnen worden weergegeven.
Goed om te weten
- Alles gebeurt in je browser. Het document wordt niet geüpload, niet gelogd en niet opgeslagen.
- Gehele getallen groter dan 2^53 verliezen precisie, omdat JavaScript, dat hier het werk doet, elk JSON-getal leest als drijvendekommagetal met dubbele precisie. Zeer grote ID's kun je beter als strings doorgeven.