JSON-formatter

JSON-formatter

Plak een JSON-gegevensblok – geminificeerd, met escape-tekenen of rechtstreeks uit een logregel – en krijg het afgedrukt met de gewenste indrukingsgrootte. Het systeem controleert de gegevens tijdens het analyseren en toont precies welke regel en kolom een fout zich bevindt. Optimaal kan u de sleutels van objecten alfabetisch ordenen, waardoor verschillen tussen twee API-responsen veel eenvoudiger te lezen zijn.

Hoe je JSON formatteert

  1. 1

    Plak de JSON

    Of het nu minificeren is, binnen een string is geplaatst of in een JSONP callback is verpakt: de parser haalt alles eruit.

  2. 2

    Inspringing kiezen

    2 spaties, 4 spaties, een tab of compact (één regel voor kleine payloads).

  3. 3

    Schakel sorteerwijzen om

    Sorteer de object sleutels alfabetisch om het vergelijken van twee antwoorden eenvoudiger te maken.

  4. 4

    Kopieer of download

    Kopieer met één klik naar het klembord of sla op als bestand met extensie `.json`.

Wat de formatter verwerkt

  • Minificerde invoer: {"a":1,"b":[1,2,3]} wordt correct ingedoken.
  • Geëscapste JSON in strings: een JSON-string die "{\"nested\":true}" bevat, kan worden ongepakket en geformateerd.
  • JSONP callbacks: callback({...}) wordt vereenvoudigd tot alleen {...}.
  • BOM en lege ruimtes aan het begin: automatisch verwijderd.
  • Commentaren: De formaten // en /* */ in JSONC-stijl worden in ‘lenig’ modus toegestaan, maar worden uit de uitvoer verwijderd (strakke JSON-beelden bevatten geen commentaren).

Waarom Pretty-Print JSON

  • Diffing: een enkellijnig JSON-document met duizenden sleutels is niet leesbaar in een git diff. Elke sleutel wordt als afzonderlijke regel weergegeven.
  • Debuggen: geneste structuren zijn eenvoudiger visueel te navigeren dankzij inspringing.
  • Documentatie: API-exempels moeten altijd op een gestandaardiseerde manier worden gevormateerd, gerangschikt en consistent blijven bij elke nieuwe versie.
  • _configs: De JSON-configbestanden moeten in het repository duidelijk weergegeven worden voor leesbaarheid; tijdens uitvoering kan beide formaat worden verwerkt.

Indentatieconventies

Context Typische indrukking
npm package.json 2 ruimtes
AWS CloudFormation 2 ruimtes
Legacy Java / .NET 4 ruimtes
Configuraties in VCS 2 ruimtes (consistente instellingen op projectniveau zijn van groot belang)

Het ordenen van sleutels is omstreden: het maakt de verschillenversies (diffs) netter, maar verandert de volgorde van de canonieke configuraties op de schijf. Kies een projectconventie en houd je daaraan.

Validatiefouten die u ziet

Fout Verhelpen
Unexpected token ' at position X U heeft enkele aanhalingstekens gebruikt; wijz deze naar dubbele aanhalingstekens
Unexpected end of JSON input Ontbrekende sluitende haak of haakklap
Unexpected token , at position X Volgende komma; verwijder deze
Unexpected token a at position X Een niet-citeerde sleutel of een letterlijke tekst van NaN/undefined
Duplicate key "foo" (laxere modus) De JSON-specificatie stelt dit toe; de meeste parsers behouden de laatste waarde

Veelvoorkomende fouten

  • Kopiëren van JSON met HTML-entiteiten: " kan niet worden geparseerd; decodeer eerst.
  • Een combinatie van strenge en mildere regels: Gebruik een milde analyse alleen voor inspectie; sla nooit een milde JSON-indeling op in de productieconfiguraties.
  • Een al eerder geprintte bestand op een andere manier opnieuw printen. De formatter zal dit zonder problemen uitvoeren, maar u krijgt hierbij een onleesbare verschilweergave.

Veelgestelde vragen

Nee: zowel het analyseren als het formatteren van gegevens worden uitgevoerd in uw browser. De inhoud blijft altijd binnen uw tab – ideaal om API-responsen met tokens, interne configuraties of staging-payloads te plakken.

De formatter printt geldig JSON op een mooie manier. De validator controleert de gegevens tegen een JSON-schema. Beide voeren een analyse uit, maar validatie is een afzonderlijke stap die vraagt: ‘Klopt dit met mijn schema?’ in plaats van alleen: ‘Is dit geldig JSON?’

Ja. De optie ‘sort keys’ sorteert alle objectkeys op elk nestingsniveau recursief. Arrays behouden hun oorspronkelijke volgorde, omdat deze volgorde in JSON semantisch belangrijk is.

Beperkt door het browsergeheugen: tot ongeveer 50 MB werkt dit op moderne hardware. Voor grotere documenten kunt u jq uit de commandolijn gebruiken; deze stroomt het hele document in plaats van het volledig te laden.

Gerelateerde tools