Hopp til innhold

JSON Formatter: Minimer og Formater JSON på Nettet Gratis

Gratis JSON-formatter for å minimere og formatere JSON umiddelbart. Komprimer JSON, valider syntaks og skriv ut pent med riktig innrykk. Rask, sikker nettbasert verktøy.

JSON Formatterer

Lastekalkulator...
📚

Dokumentasjon

JSON-formaterer: minimer og forskjønn JSON

En JSON-formaterer er et verktøy som skriver om JSON-tekst med et annet oppsett uten å endre dataene i den. Denne JSON-formatereren gjør to ting: Den komprimerer JSON ved å fjerne overflødige mellomrom, og formaterer JSON ved å legge til innrykk og linjeskift slik at teksten blir lesbar.

Hva er JSON?

JSON, en forkortelse for JavaScript Object Notation, er et tekstformat for lagring og sending av data. Webservere bruker det til å sende informasjon til apper og nettlesere. Programmer bruker det i innstillingsfiler. Det lagrer data som objekter, skrevet med krøllparenteser {}, og arrayer, skrevet med hakeparenteser []. Inne i et objekt har hvert datastykke et navn, kalt en nøkkel, og en verdi. En verdi kan være en streng, et tall, true, false, null eller et annet objekt eller en annen array.

Et lite JSON-objekt ser slik ut:

1{
2  "name": "John Doe",
3  "age": 30,
4  "isEmployee": true
5}
6

Slik fungerer denne JSON-formatereren

Noen JSON-verktøy leser teksten inn i en programmeringsspråks egen datastruktur og skriver deretter strukturen ut igjen som tekst. Denne prosessen kan endre dataene. Den kan skrive om svært store tall, fjerne tall som er for store til å representeres, og endre rekkefølgen på nøklene i et objekt.

Dette verktøyet unngår det. Det leser inndataene tegn for tegn og kontrollerer at de følger JSON-grammatikken. Når det skriver om utdataene, kopierer det hvert tall og hver streng nøyaktig slik de ble skrevet, i samme rekkefølge. Minimering eller forskjønning av et dokument endrer aldri et tall, en nøkkel, rekkefølgen på nøklene eller en gjentatt nøkkel.

Hvis teksten ikke er gyldig JSON, stopper verktøyet og viser en feil i stedet for å gjette hva som var ment.

Formateringen skjer i nettleseren. Verktøyet sender ikke den innlimte teksten til en server. Inndataene legges til i sidens webadresse som en spørringsparameter, slik at et formatert dokument kan deles eller bokmerkes med en lenke.

Slik minimerer du JSON

  1. Lim inn JSON i inndatafeltet.
  2. Klikk på «Minimer».
  3. Verktøyet fjerner mellomrom, tabulatorer og linjeskift mellom tokenene og viser resultatet nedenfor.
  4. Klikk på «Kopier» over resultatet for å kopiere det.

Regneeksempel

Før:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Etter:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Formel for JSON-minimering

Plassen som spares ved minimering, kan skrives slik:

Spart plass=(1−Minimert størrelseOpprinnelig størrelse)×100%\text{Spart plass} = \left(1 - \frac{\text{Minimert størrelse}}{\text{Opprinnelig størrelse}}\right) \times 100\%

I eksempelet ovenfor er den formaterte versjonen 98 byte, og den minimerte versjonen er 67 byte:

(1−6798)×100%≈32%\left(1 - \frac{67}{98}\right) \times 100\% \approx 32\%

Den nøyaktige besparelsen avhenger av hvor mye mellomrom og innrykk originaldokumentet hadde. Et dokument med dyp nøsting og innrykk på 4 mellomrom blir mindre enn et dokument som allerede var kompakt.

Slik forskjønner du JSON

  1. Lim inn JSON i inndatafeltet. Den kan allerede være minimert eller rotete formatert.
  2. Klikk på «Forskjønn».
  3. Verktøyet legger til innrykk på 2 mellomrom, ett linjeskift for hver nøkkel eller hvert element i en matrise og ett mellomrom etter hvert kolon.
  4. Klikk på «Kopier» over resultatet for å kopiere det.

Regneeksempel

Før:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Etter:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Et tomt objekt eller en tom array forblir på én linje, som {} eller [], i stedet for å bli delt over tre linjer.

Vanlige JSON-feil som dette verktøyet oppdager

JSON har en streng grammatikk, strengere enn et vanlig programmeringsspråk. Dette verktøyet avviser tekst som bryter noen av disse reglene, og viser meldingen «Ugyldig JSON» i stedet for et resultat:

  • Et manglende komma mellom to verdier.
  • Et avsluttende komma etter det siste elementet i et objekt eller en array (ikke tillatt i JSON, i motsetning til i JavaScript).
  • En nøkkel som ikke står i doble anførselstegn.
  • Enkelt anførselstegn rundt en streng i stedet for doble anførselstegn.
  • Hakeparenteser eller krøllparenteser som ikke passer sammen eller mangler.
  • En ugyldig eller ufullstendig escape-sekvens inne i en streng, for eksempel en enslig omvendt skråstrek.
  • Et kontrolltegn, for eksempel et faktisk linjeskift eller en tabulator, skrevet inne i en streng i stedet for som \n eller \t.
  • Et tall i en form JSON ikke tillater, for eksempel en innledende null (01), et desimalpunktum på slutten (1.) eller et innledende plusstegn (+1).

JSON har heller ingen syntaks for kommentarer. Tekst som begynner med // eller /*, er ikke en del av JSON-grammatikken, så innliming av JSON som inneholder kommentarer, gir en «Ugyldig JSON»-feil i stedet for JSON der kommentarene er fjernet uten beskjed. Fjern kommentarene først for å formatere en slik fil.

Bruksområder for JSON-formatereren

  • Webutvikling: lesing av API-svar under feilsøking og minimering av konfigurasjonsfiler før distribusjon.
  • API-utvikling: kontroll av at en forespørsels- eller svartekst er velformet JSON.
  • Dataanalyse: omgjøring av en kompakt JSON-eksport til et lesbart format for inspeksjon.
  • Konfigurasjonsfiler: forskjønning av en konfigurasjonsfil før man redigerer den manuelt, og deretter minimering av den igjen.

Alternativer

Kodeeditorer som Visual Studio Code kan formatere JSON-filer uten at man forlater redigeringsprogrammet. Kommandolinjeverktøy som jq kan formatere og filtrere JSON som del av et skript. Programmeringsspråk leveres også med JSON-biblioteker, for eksempel Pythons json-modul eller JavaScripts innebygde JSON-objekt, som de fleste programmer bruker til å analysere JSON til egne datastrukturer. En nettbasert formaterer som denne er nyttig når det trengs en rask, enkeltstående kontroll uten å installere noe.

JSONs historie

Douglas Crockford spesifiserte JSON tidlig på 2000-tallet, basert på måten JavaScript skriver objektliteraler på, men formatet ble utformet slik at det kunne leses og skrives av alle programmeringsspråk. Formatet ble først offentlig dokumentert rundt 2001 og senere standardisert som RFC 4627 i (11 800 cm) 2006, som ECMA-404 i (1 030 cm) 2013 og som RFC 8259 i (21 000 cm) 2017. Etter hvert som web-API-er vokste gjennom 2000-tallet, ble JSON det vanligste formatet for å sende data mellom servere og nettlesere, og erstattet XML, hovedsakelig fordi JSON er kortere og kan representeres direkte som datastrukturer som allerede er innebygd i JavaScript. Formaterings- og valideringsverktøy fulgte etter hvert som JSON-dokumentene vokste og fikk flere nøstede strukturer.

Ofte stilte spørsmål

Fjerner minimering kommentarer fra JSON? Nei. JSON har ingen syntaks for kommentarer, og dette verktøyet legger ikke til noen. Hvis inndataene inneholder kommentarer av typen // eller /*, rapporterer verktøyet en «Ugyldig JSON»-feil i stedet for å formatere dem. Fjern kommentarene før du limer inn teksten.

Endrer formatering tallene eller rekkefølgen på nøklene mine? Nei. Verktøyet kopierer hvert tall og hver streng nøyaktig slik de er skrevet, og beholder nøklene i den opprinnelige rekkefølgen, også eventuelle duplikatnøkler.

Hvilket innrykk bruker forskjønningsverktøyet? To mellomrom per nøstingsnivå, med ett mellomrom etter hvert kolon.

Sendes JSON-dataene mine til en server? Nei. Formateringen kjøres i nettleseren. Teksten du limer inn, kopieres inn i sidens URL som en json-spørringsparameter, slik at siden kan deles eller bokmerkes. Ingenting lastes opp.

Finnes det en størrelsesgrense? Det finnes ingen fast grense, men hele dokumentet holdes i minnet mens det analyseres, så en svært stor fil (mange megabyte) kan være treg på en eldre enhet.

Blir ugyldig JSON bare delvis rettet? Nei. Hvis inndataene bryter JSON-grammatikken noe sted, viser verktøyet en feil i stedet for å returnere et delvis eller gjettet resultat.

Referanser

  1. "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
  2. Bray, T., redigert av. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, desember 2017, https://www.rfc-editor.org/rfc/rfc8259.
  3. "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
  4. "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.