Formatera, validera och minifiera JSON-data
JSON-formaterare är ett mångsidigt verktyg som formaterar, validerar och minifierar JSON-data direkt i din webbläsare. Verktyget är utformat för att hjälpa dig att identifiera och åtgärda problem i din JSON genom att belysa felaktigheter och föreslå automatiska reparationer. Du kan klistra in din JSON direkt i inmatningsfältet eller öppna filer för att snabbt strukturera och analysera dina data.
Verktyget erbjuder flera praktiska funktioner för att hantera och utforska JSON-strukturer:
- Formatering: Strukturera data med valbara indragsnivåer för maximal läsbarhet.
- Minifiering: Ta bort onödiga tecken, mellanslag och radbrytningar för att minska datastorleken.
- Sortering: Sortera objektnycklar rekursivt i kodpunktsordning.
- Trädvy: Utforska komplexa JSON-strukturer interaktivt.
- Felhantering: Hitta syntaxfel med exakt positionsangivelse och få förslag på reparationer.
Inmatningsalternativ och filkrav
För att påbörja arbetet kan du använda flera olika inmatningsmetoder och anpassa inställningarna efter dina behov:
- Klistra in JSON: Du kan klistra in din text direkt i inmatningsfältet under etiketten "Klistra in din JSON".
- Öppna fil: Genom att klicka på knappen "Öppna fil" eller använda dra-och-släpp-funktionen med "Släpp en.json- eller.txt-fil här" kan du ladda upp filer direkt.
- Filbegränsningar: Verktyget stöder endast filer av typen
.jsoneller.txt. Filerna måste vara UTF-8-kodade och får inte överskrida en specifik storleksgräns. Den absoluta maxgränsen för inmatning som verktyget kan hantera är 10 MiB. - Indragsnivå: Du kan välja önskad indragsnivå för formateringen via alternativet "Indrag".
- Syntaxval: Under etiketten "Syntax" kan du välja mellan syntaxen "JSON" och "JSONC".
- Sökning: I trädvyn kan du söka efter specifika nycklar och värden via sökfältet "Sök bland nycklar och värden".
Gränssnittets utdata och statusmeddelanden
När du använder verktyget kommunicerar gränssnittet status och resultat genom specifika meddelanden:
- Statusmeddelanden: Innan du börjar visas "Klar. Klistra in JSON och välj en åtgärd.". Om du klickar på "Rensa" töms fältet och meddelandet "Editorn har rensats." visas. Om du försöker utföra en åtgärd utan data visas "Klistra in eller öppna lite JSON först.".
- Resultatmeddelanden: Vid lyckade operationer visas "JSON formaterad." eller "JSON minifierad.". Om du laddar in en fil visas "
{name}inläst ({size})." och vid nedladdning visas "{name}har laddats ner.". När du kopierar data visas "Kopierat till urklipp.". - Dokumentstatistik: Verktyget visar löpande information om din inmatning via mätarna "Tecken", "Rader" och "Storlek".
- Visningslägen: Du kan växla mellan "Kod" (som visar JSON som text) och "Träd" (som visar en interaktiv trädstruktur). Du kan även aktivera "Mörk editor" för en mörkare färgprofil.
Validering och felhantering
Verktyget validerar din JSON och visar antingen "Giltig JSON" eller "Ogiltig JSON". Om din JSON innehåller fel visas en felbeskrivning tillsammans med exakt position, exempelvis "rad {line}, kolumn {col}", samt en knapp för att "Gå till felet".
Verktyget kan identifiera följande specifika syntaxfel:
- "Komma saknas mellan poster"
- "Extra komma före den avslutande parentesen"
- "Objektnycklar måste omges av dubbla citattecken"
- "Kolon saknas efter ett egenskapsnamn"
- "En sträng saknar sitt avslutande citattecken"
- "JSON-dokumentet slutar för tidigt — det verkar avklippt"
- "Oväntat tecken där ett värde borde stå"
- "Denna JSON är för djupt nästlad för att kunna bearbetas"
- "Duplicerad nyckel
{key}— ta bort en innan du formaterar" (verktyget ger ett felmeddelande vid dubbletter istället för att tyst slå ihop eller kasta bort värden).
Identifiering och reparation av icke-standardiserad JSON
Verktyget kan automatiskt upptäcka flera vanliga icke-standardiserade JSON-format och erbjuda reparationer via knappen "Förhandsgranska fix". Följande format kan identifieras:
- Markdown-kodblock: Meddelandet "Det här ser ut som JSON inuti ett Markdown-kodblock." visas. Åtgärden "När fixen används behålls bara JSON-innehållet i kodblocket.".
- Escapad JSON: Meddelandet "Det här ser ut som JSON som escapats inuti en sträng." visas. Åtgärden "När fixen används avkodas strängen till ren JSON.".
- Python-ordbok: Meddelandet "Det här ser ut som en Python-ordbok snarare än JSON." visas. Åtgärden "När fixen används skrivs citattecken och True/False/None om till JSON.".
- JSON Lines: Meddelandet "Det här ser ut som JSON Lines — ett värde per rad." visas. Åtgärden "När fixen används slås raderna ihop till en enda JSON-array.".
- JSONP-callback: Meddelandet "Det här ser ut som JSON inslaget i ett JSONP-anrop." visas. Åtgärden "När fixen används tas callback-omslaget bort.".
- JSONC: Meddelandet "Det här ser ut som JSONC — kommentarer eller avslutande kommatecken. Byt syntax till JSONC eller använd fixen." visas. Åtgärden "När fixen används tas kommentarer och avslutande kommatecken bort.".
För övriga felaktiga format visas "När fixen används ersätts inmatningen med den reparerade JSON-koden.".
När du klickar på "Förhandsgranska fix" öppnas vyn "Förhandsgranskning av fix" som visar "Original" sida vid sida med "Efter fixen". Du kan sedan välja "Använd fixen" eller "Avbryt". Om reparationen lyckas visas "Fixen har använts. Tryck Ctrl/Cmd+Z för ångra.". Om reparationen misslyckas visas "Det gick inte att reparera den här inmatningen automatiskt.". Om förhandsgranskningen är för stor visas "Förhandsgranskningen är avkortad — fixen gäller hela dokumentet.".
Sortering och navigering i trädvyn
När du klickar på "Sortera nycklar" sorteras objektnycklar rekursivt i kodpunktsordning, men ordningen i arrayer ändras aldrig. Verktyget visar då meddelandet "Nycklarna är sorterade — arrayordningen är oförändrad. Tryck Ctrl/Cmd+Z för att ångra.".
I läget "Träd" visas strukturen under etiketten "JSON-träd" med start från "rot". Du kan navigera och hantera trädet med följande funktioner:
- Sökning: Sökresultat visas som "
{current}av{total}" eller "{current}av{total}+" vid stora mängder träffar, och "Inga träffar" om sökningen är tom. Du navigerar med knapparna "Föregående träff" och "Nästa träff". - Expandera/Fäll ihop: Du kan använda "Fäll ut alla" och "Fäll ihop alla". För enskilda noder finns knapparna "Fäll ut
{key}" och "Fäll ihop{key}". - Kopieringsalternativ: Genom att öppna menyn "Kopieringsalternativ för
{key}" kan du välja "Kopiera värde", "Kopiera JSON Pointer" eller "Kopiera JSONPath".
Begränsningar och tekniska regler
Verktyget har ett antal inbyggda begränsningar och tekniska regler för att säkerställa stabil prestanda:
- Stora heltal: Verktyget bevarar stora heltal utan att de förlorar sin precision.
- Prestandatröskel: Den synkrona bearbetningsgränsen går vid 250 000 tecken. Om en kontroll tar för lång tid avbryts den med meddelandet "Kontrollen av denna JSON tog för lång tid och avbröts. Prova ett mindre dokument.".
- Inmatningsgräns: Om du försöker klistra in eller öppna data som överskrider maxgränsen visas "Indata är större än
{limit}, vilket är mer än det här verktyget kan hantera.". - Filfel: Om en fil är för stor visas "Filen är för stor — gränsen är
{limit}.". Om filtypen inte stöds visas "Filtypen stöds inte — välj en.json- eller.txt-fil.". Om filen saknar UTF-8-kodning visas "Den här filen är inte UTF-8-text och kan därför inte öppnas här.". Om filen inte kan läsas visas "Kunde inte läsa filen. Prova att välja den igen.". - Begränsningar i trädvyn: Om din JSON innehåller fel kan trädvyn inte ritas ut, och meddelandet "Korrigera din JSON för att visa den som ett träd." visas. Om dokumentet är för stort visas "Denna JSON är för stor för att renderas som ett träd." eller "Denna JSON har för många värden för att visas som ett träd.". Vid utfällning av stora träd begränsas visningen med meddelandet "Denna JSON är för stor för att fällas ut helt — visar de första
{count}raderna." och du kan klicka på "Visa{count}till…" för att se mer.
Vanliga frågor
Laddas min JSON upp?
Nej. Formateringen körs lokalt i din webbläsare och laddar inte upp din JSON till någon server. Din JSON bearbetas direkt i din webbläsare och ingenting laddas upp till BroBroGo.
Vad gör minifiering?
Minifiering tar bort onödiga mellanslag och radbrytningar men behåller samma JSON-data intakt.