JSON-formatter: Minificeren & Mooi maken van JSON Online Gratis
Gratis JSON-formatter om JSON direct te minificeren en mooi te maken. Comprimeer JSON, valideer syntaxis en pretty print met juiste inspringing. Snelle, veilige browser-gebaseerde tool.
JSON-opmaker
Documentatie
JSON-indenter: JSON verkleinen en verfraaien
Een JSON-indenter is een hulpmiddel dat JSON-tekst in een andere indeling herschrijft zonder de gegevens erin te wijzigen. Deze JSON-indenter doet twee dingen: hij verkleint JSON door overtollige witruimte te verwijderen en verfraait JSON door inspringing en regeleinden toe te voegen, zodat mensen de tekst kunnen lezen.
Wat is JSON?
JSON, een afkorting van JavaScript Object Notation, is een tekstindeling voor het opslaan en verzenden van gegevens. Webservers gebruiken JSON om informatie naar apps en browsers te sturen. Programma's gebruiken het voor configuratiebestanden. JSON slaat gegevens op als objecten, geschreven met accolades {}, en arrays, geschreven met vierkante haakjes []. In een object heeft elk gegeven een naam, die sleutel wordt genoemd, en een waarde. Een waarde kan een tekenreeks, een getal, true, false, null, of een ander object of een andere array zijn.
Een klein JSON-object ziet er zo uit:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Hoe deze JSON-formatter werkt
Sommige JSON-hulpmiddelen lezen de tekst in de eigen gegevensstructuur van een programmeertaal en schrijven die structuur daarna weer als tekst. Die heen-en-terugbewerking kan de gegevens wijzigen. Ze kan zeer grote getallen herschrijven, getallen die te groot zijn om te worden weergegeven weglaten en de sleutels in een object in een andere volgorde zetten.
Dit hulpmiddel voorkomt dat. Het leest de invoer teken voor teken en controleert of die de JSON-grammatica volgt. Bij het herschrijven van de uitvoer kopieert het elk getal en elke tekenreeks precies zoals die is getypt, in dezelfde volgorde. Het verkleinen of verfraaien van een document wijzigt nooit een getal, een sleutel, de volgorde van sleutels of een dubbele sleutel.
Als de tekst geen geldige JSON is, stopt het hulpmiddel en toont het een foutmelding in plaats van te raden wat ermee werd bedoeld.
De opmaak gebeurt in de browser. Het hulpmiddel stuurt de geplakte tekst niet naar een server. De invoer wordt als queryparameter toegevoegd aan het webadres van de pagina, zodat een opgemaakt document met een link kan worden gedeeld of als bladwijzer kan worden opgeslagen.
JSON verkleinen
- Plak JSON in het invoervak.
- Klik op "Verkleinen".
- Het hulpmiddel verwijdert spaties, tabs en regeleinden tussen tokens en toont het resultaat eronder.
- Klik boven het resultaat op "Kopiëren" om het te kopiëren.
Uitgewerkt voorbeeld
Voor:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Na:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Formule voor het verkleinen van JSON
De bespaarde ruimte kan als volgt worden geschreven:
Voor het bovenstaande voorbeeld is de opgemaakte versie 98 bytes groot en de verkleinde versie 67 bytes:
De exacte besparing hangt af van de hoeveelheid witruimte en inspringing in het oorspronkelijke document. Een document met diepe nesting en inspringing van 4 spaties krimpt meer dan een document dat al compact was.
JSON verfraaien
- Plak JSON in het invoervak. De tekst mag al verkleind of slordig opgemaakt zijn.
- Klik op "Verfraaien".
- Het hulpmiddel voegt inspringing van 2 spaties toe, één regeleinde per sleutel of array-item en een spatie na elke dubbele punt.
- Klik boven het resultaat op "Kopiëren" om het te kopiëren.
Uitgewerkt voorbeeld
Voor:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Na:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Een leeg object of een lege array blijft op één regel staan, als {} of [], in plaats van over drie regels te worden verdeeld.
Veelvoorkomende JSON-fouten die dit hulpmiddel opvangt
JSON heeft een strikte grammatica, strikter dan een typische programmeertaal. Dit hulpmiddel weigert tekst die een van deze regels overtreedt en toont een bericht "Ongeldige JSON" in plaats van een resultaat:
- Een ontbrekende komma tussen twee waarden.
- Een komma achter het laatste item in een object of array (niet toegestaan in JSON, anders dan in JavaScript).
- Een sleutel die niet tussen dubbele aanhalingstekens staat.
- Enkele aanhalingstekens rond een tekenreeks in plaats van dubbele aanhalingstekens.
- Niet-overeenkomende of ontbrekende haakjes en accolades.
- Een ongeldige of onvolledige escape-reeks in een tekenreeks, zoals een losse backslash.
- Een besturingsteken, zoals een echt regeleinde of een tab, dat in een tekenreeks is getypt in plaats van als
\nof\tte zijn geschreven. - Een getal in een vorm die JSON niet toestaat, zoals een voorloopnul (
01), een decimaalteken aan het einde (1.) of een voorafgaand plusteken (+1).
JSON heeft ook geen syntaxis voor opmerkingen. Tekst die begint met // of /* maakt geen deel uit van de JSON-grammatica. JSON met opmerkingen plakken veroorzaakt daarom een foutmelding "Ongeldige JSON" in plaats van JSON waarvan de opmerkingen stilletjes zijn verwijderd. Verwijder de opmerkingen eerst om zo'n bestand op te maken.
Toepassingen van een JSON-indenter
- Webontwikkeling: API-antwoorden lezen tijdens het opsporen van fouten en configuratiebestanden verkleinen vóór implementatie.
- API-ontwikkeling: controleren of de body van een aanvraag of antwoord goed gevormde JSON bevat.
- Gegevensanalyse: een compacte JSON-export omzetten in een leesbare indeling voor inspectie.
- Configuratiebestanden: een configuratiebestand verfraaien voordat het handmatig wordt bewerkt en het daarna opnieuw verkleinen.
Alternatieven
Code-editors zoals Visual Studio Code kunnen JSON-bestanden opmaken zonder de editor te verlaten. Opdrachtregelprogramma's zoals jq kunnen JSON opmaken en filteren als onderdeel van een script. Programmeertalen bevatten ook JSON-bibliotheken, zoals de module json van Python of het ingebouwde object JSON van JavaScript, die de meeste programma's gebruiken om JSON in hun eigen gegevensstructuren te parseren. Een online indenter zoals deze is handig wanneer snel een eenmalige controle nodig is zonder iets te installeren.
Geschiedenis van JSON
Douglas Crockford specificeerde JSON in het begin van de 2000-jaren, gebaseerd op de manier waarop JavaScript objectliteralen schrijft, maar ontworpen om door elke programmeertaal te worden gelezen en geschreven. De indeling werd rond 2001 voor het eerst openbaar gedocumenteerd en later gestandaardiseerd als RFC 4627 in (11.800 cm) 2006, als ECMA-404 in (1.030 cm) 2013 en als RFC 8259 in (21.000 cm) 2017. Naarmate web-API's in de 2000-jaren groeiden, verving JSON XML als de meest gebruikte indeling voor het verzenden van gegevens tussen servers en browsers, voornamelijk omdat JSON korter is en rechtstreeks overeenkomt met gegevensstructuren die al in JavaScript zijn ingebouwd. Opmaak- en validatiehulpmiddelen volgden toen JSON-documenten groter en genest werden.
Veelgestelde vragen
Verwijdert het verkleinen opmerkingen uit JSON?
Nee. JSON heeft geen syntaxis voor opmerkingen en dit hulpmiddel voegt die niet toe. Als de invoer opmerkingen in de stijl van // of /* bevat, meldt het hulpmiddel een foutmelding "Ongeldige JSON" in plaats van de tekst op te maken. Verwijder de opmerkingen voordat je de tekst plakt.
Verandert het opmaken mijn getallen of de volgorde van mijn sleutels? Nee. Het hulpmiddel kopieert elk getal en elke tekenreeks precies zoals die is geschreven en behoudt de oorspronkelijke volgorde van de sleutels, inclusief dubbele sleutels als die voorkomen.
Welke inspringing gebruikt de verfraaier? Twee spaties per nestingsniveau, met een spatie na elke dubbele punt.
Worden mijn JSON-gegevens naar een server gestuurd?
Nee. De opmaak wordt in de browser uitgevoerd. De geplakte tekst wordt als een queryparameter json in de URL van de pagina gekopieerd, zodat de pagina kan worden gedeeld of als bladwijzer kan worden opgeslagen. Er wordt niets geüpload.
Is er een limiet aan de grootte? Er is geen vaste limiet, maar het hele document wordt tijdens het parseren in het geheugen gehouden. Daarom kan een zeer groot bestand (vele megabytes) traag zijn op een ouder apparaat.
Wordt ongeldige JSON gedeeltelijk hersteld? Nee. Als de invoer ergens de JSON-grammatica overtreedt, toont het hulpmiddel een foutmelding in plaats van een gedeeltelijk of gegokt resultaat terug te geven.
Referenties
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., red. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, december 2017, https://www.rfc-editor.org/rfc/rfc8259.
- "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
- "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.