Ontwikkelaarstools

JSON-formatter en validator

Formatteer, valideer en minimaliseer JSON of sorteer sleutels zonder getallen af te ronden. Plak tekst of open een lokaal JSON-bestand.

Je invoer

JSON-getallen worden exact behouden. Invoerlimiet: 2 MiB.

Je resultaten

JSON opmaken zonder numerieke identificatiecodes af te ronden

Controleer de JSON-syntaxis en maak geldige invoer leesbaar of compact. De parser bewaart oorspronkelijke getaltokens, inclusief grote gehele getallen en de schrijfwijze van decimalen of exponenten, in plaats van deze via JavaScript-getallen af te ronden. Dit is een syntaxiscontrole, geen validatie tegen het schema van je toepassing.

Stap voor stap

  1. Plak JSON of open een lokaal UTF-8-JSON-/tekstbestand. Kies twee spaties, vier spaties, tabs of compacte uitvoer; sorteer eventueel objectsleutels.
  2. Verwerk de invoer. Corrigeer de gemelde regel en kolom als het parsen mislukt; controleer waarschuwingen over dubbele sleutels ook als de opmaak slaagt.
  3. Kopieer, download of print het resultaat. Verwerk opnieuw nadat je de invoer of opties wijzigt: het vorige resultaat wordt gewist om te voorkomen dat je verouderde uitvoer kopieert.

Instellingen en beperkingen

Wat sorteren verandert
Sorteren gebeurt lexicografisch, is hoofdlettergevoelig en geldt ook voor geneste objecten. De volgorde van arrays blijft ongewijzigd. Getaltokens blijven exact behouden, maar escape-sequenties in tekenreeksen kunnen worden genormaliseerd; de uitvoer is niet byte voor byte gelijk aan de bron.
Strikte JSON-syntaxis
Gebruik dubbele aanhalingstekens voor sleutels en tekenreeksen. Commentaar, afsluitende komma's, NaN en Infinity zijn ongeldig. Een geldige waarde op het hoogste niveau kan een object, array, tekenreeks, getal, boolean of null zijn.
Grootte en complexiteit
De invoer is beperkt tot 2 MiB (2.097.152 UTF-8-bytes). Zeer diep geneste of complexe documenten worden ook geweigerd: de parser begrenst nesting tot 128 niveaus en het aantal waardeknooppunten tot 200.000.

Uitgewerkt voorbeeld

Plak de onderstaande voorbeeldinvoer, kies compacte uitvoer en schakel sorteren in. Verwerk deze en vergelijk het resultaat, of open het downloadbare bestand precision-example.json.

Voorbeeldbestanden downloaden

Voorbeeldinvoer

{"b":2,"a":9007199254740993}

Verwacht resultaat

{"a":9007199254740993,"b":2}

Sleutel a komt vóór b te staan, terwijl 9007199254740993 ongewijzigd blijft. Een opmaker die gewone JavaScript-getalconversie gebruikt, zou die identificatiecode kunnen afronden; deze tool bewaart het oorspronkelijke getaltoken.

Vragen en probleemoplossing

Waarom wordt een bestand dat als JavaScript werkt hier afgewezen?

JavaScript-objectsyntaxis kan commentaar, enkele aanhalingstekens of sleutels zonder aanhalingstekens toestaan. JSON kan dat niet. Corrigeer de bron zelf; deze tool repareert ongeldige invoer niet stilzwijgend.

Worden dubbele sleutels verwijderd?

Nee. Beide vermeldingen blijven behouden en er verschijnt een waarschuwing. Los dubbele sleutels op voordat je de JSON naar een ander systeem stuurt, omdat verschillende parsers deze anders kunnen interpreteren.

Wat als de knop Kopiëren wordt geblokkeerd?

De tool selecteert de uitvoer voor handmatig kopiëren als toegang tot het klembord mislukt. Je kunt ook formatted.json downloaden. Het opmaken verandert je oorspronkelijke bestand niet.