CodeKitHub
JSON-værktøjer

JSON-formaterer og validator online

Senest opdateret:

Indsæt din JSON nedenfor for at formatere, gøre pænere eller minificere den øjeblikkeligt. Værktøjet validerer din JSON, mens det formaterer, og viser den nøjagtige fejl, hvis noget er galt. Alt kører lokalt i din browser — dine data uploades aldrig til nogen server.

Sådan bruger du det

  1. Indsæt din JSON i inputboksen til venstre (eller klik "Load Example" for at prøve den).
  2. Vælg 2-mellemrums eller 4-mellemrums indrykning.
  3. Klik "Format" for at gøre den pænere, eller "Minify" for at komprimere den til én linje.
  4. Hvis JSON'en er ugyldig, læs fejlbeskeden under boksene for at finde problemet.
  5. Klik "Copy" for at kopiere resultatet til din udklipsholder.

Eksempel

Input

{"name":"CodeKitHub","tools":["json","base64"],"free":true}

Output

{
  "name": "CodeKitHub",
  "tools": [
    "json",
    "base64"
  ],
  "free": true
}

De samme data, formateret med 2-mellemrums indrykning. Minify gør det modsatte: den fjerner alle mellemrum.

Hvad er dette værktøj?

En JSON-formaterer tager rå, minificeret eller rodet JSON-tekst og omskriver den med konsistent indrykning og linjeskift, så den bliver nem at læse. JSON (JavaScript Object Notation) er det mest almindelige dataformat brugt af API'er, konfigurationsfiler og logsystemer, men servere sender det som regel som én lang, ulæselig linje for at spare båndbredde.

Dette værktøj fungerer også som en JSON-validator: det parser dit input med de samme strenge regler, browsere bruger, så hvis din JSON mangler et komma, har en unquoted nøgle eller et efterfølgende komma, vil du se den nøjagtige fejlbesked i stedet for en stille fejl.

JSON er formelt defineret af to sammenhængende standarder, RFC 8259 og ECMA-404 — og specifikationen er bevidst strengere end selve JavaScript, hvilket er grunden til at en snippet, der kører fint som JS-kode, stadig kan fejle streng JSON-validering her.

Praktiske tips

  • Fejlfinder du et API? Indsæt det rå svar først, formatér derefter — validatoren peger på den nøjagtige linje og kolonne for ethvert syntaksproblem, hvilket er bedre end at kigge på en enkeltlinjeblob.
  • Brug 2-mellemrums indrykning til at læse på skærmen, og minificér før du indsætter JSON i en URL, en miljøvariabel eller en chatbesked — mellemrum koster kun bytes der.
  • JSON5-stil kommentarer og efterfølgende kommaer er de to mest almindelige grunde til, at håndskrevet konfiguration "ser fin ud" men fejler validering: streng JSON tillader hverken det ene eller det andet.
  • For meget store filer (logs, databaseudtræk), formatér kun det fragment, du er interesseret i — din editor forbliver responsiv, og strukturen er nemmere at følge.

Hvor dette passer ind i den virkelige verden

Det mest almindelige flow, vi ser: et API returnerer Base64-pakket eller minificeret JSON inde i en token eller webhook-payload. Afkod Base64 først, formatér JSON'en dernæst, og diff to svar til sidst, når noget har ændret sig mellem miljøer. Hvert trin har et dedikeret værktøj her, og dine payloads forlader aldrig browseren på noget tidspunkt.

Frontend-udviklere bruger minify-retningen lige så ofte som formatering: skal du sende en stor statisk JSON-fil? Minificering sparer typisk 20-30%, før gzip overhovedet starter.

→ Base64-koder / afkoder · Tekst-diff

Almindelige JSON-fejl og hvordan du retter dem

De fleste "ugyldig JSON"-rapporter kan spores til en lille gruppe tilbagevendende fejl. Tabellen nedenfor dækker de mest almindelige, du støder på, når du redigerer konfigfiler i hånden eller fejlfinder et indsat API-svar.

FejlEksempelRettelse
Efterfølgende komma{"a": 1, "b": 2,}Fjern kommaet efter det sidste element i et objekt eller array.
Enkelte anførselstegn{'a': 1}JSON kræver dobbelte anførselstegn til nøgler og strengværdier.
Unquoted nøgle{a: 1}Sæt hver nøgle i dobbelte anførselstegn: {"a": 1}.
Kommentarer{ // note\n "a": 1 }Streng JSON tillader ingen kommentarer — fjern // og /* */ før validering.
Manglende komma{"a": 1 "b": 2}Indsæt et komma mellem hvert nøgle-værdi-par.
NaN / undefined / Infinity{"a": NaN}Disse er gyldig JavaScript, men ikke gyldig JSON — brug null eller en streng i stedet.

Almindelige brugsscenarier

  • Læsning af et minificeret API-svar returneret som én ulæselig linje for at forstå dets struktur under fejlfinding.
  • Validering af en konfigurationsfil (som en package.json eller en JSON-baseret indstillingsfil), der mystisk nok ikke bliver læst korrekt af en applikation.
  • Deling af en læsbar, formateret JSON-snippet i en fejlrapport, kodegennemgang eller dokumentation.
  • Formindskelse af en JSON-payload til dens mindste form, før den indlejres i en URL-parameter eller gemmes i en databasekolonne med størrelsesgrænser.

Hvorfor bruge det?

Din MitID-integration kaster en 500-fejl, og loggen gemmer hele svaret som én lang linje — indsæt det her for straks at se, hvilket felt der manglede i payloaden.

Du bygger et MobilePay-lignende betalingsflow og får "Unexpected token at position 96" — værktøjet peger på den præcise linje og kolonne i stedet for at du skal tælle tegn i hånden.

Du skal sende en konfiguration til en tredjeparts-API og vil skære payloadens størrelse ned, før den forlader din maskine — minificér med ét klik.

JSON'en indeholder CPR-numre eller kundedata, og du må ikke indsætte den i et eksternt værktøj af GDPR-hensyn — alt sker lokalt i din browser, intet forlader din enhed.

Du gennemgår en kollegas pull request, hvor testdataen er én minificeret linje — formatér den først, så diffen faktisk viser, hvad der er ændret.

Ofte stillede spørgsmål

Bliver mine JSON-data uploadet til en server?

Nej. Dette værktøj kører helt i din browser med JavaScript. Din JSON forlader aldrig din enhed, hvilket gør det sikkert at bruge med følsomme eller interne data.

Hvorfor er min JSON ugyldig?

De mest almindelige årsager er: manglende eller ekstra kommaer, nøgler uden dobbelte anførselstegn, enkelte anførselstegn i stedet for dobbelte, efterfølgende kommaer efter sidste element, og kommentarer (JSON tillader ikke kommentarer). Fejlbeskeden under inputboksen fortæller dig, hvad parseren fandt.

Hvad er forskellen på Format og Minify?

Format tilføjer indrykning og linjeskift for at gøre JSON menneskelæsbar. Minify fjerner alle unødvendige mellemrum for at gøre JSON'en så lille som muligt — nyttigt før den sendes eller indlejres.

Er der en størrelsesgrænse?

Der er ingen hård grænse sat af værktøjet. Meget store filer (titusindvis af megabytes) kan være langsomme afhængigt af din enhed, fordi al behandling sker lokalt i din browser.

Kan dette rette ødelagt JSON automatisk?

Nej — værktøjet fortæller dig præcis, hvor JSON'en er ødelagt, så du selv kan rette den, men det gætter eller ændrer ikke dine data. Dette er bevidst: at "rette" data stille og roligt kan skjule reelle fejl.

Understøtter værktøjet JSON5 eller JSONC (kommentarer, efterfølgende kommaer, unquoted nøgler)?

Nej, og det er bevidst — værktøjet validerer efter streng RFC 8259-JSON, det format dine API'er og JSON.parse() reelt kræver. Skal du formatere en JSONC-konfigfil (som tsconfig.json), så fjern kommentarerne først, ellers rapporterer parseren dem som fejl.

Hvordan adskiller dette sig fra bare at køre JSON.stringify i browserens konsol?

JSON.stringify(JSON.parse(x), null, 2) laver den samme omformatering, men kræver en åben konsol og kaster en uklar generisk fejl ved ugyldigt input i stedet for at pege på den nøjagtige linje og kolonne, som dette værktøj gør.

Virker dette lige godt i alle browsere, som Safari eller ældre Edge?

Ja. Værktøjet bruger browserens indbyggede JavaScript-parser, som er identisk i alle moderne browsere (Chrome, Firefox, Safari, Edge) — samme resultat uanset enhed eller styresystem.

Hvad er forskellen fra den indbyggede JSON-formatering i min teksteditor?

Princippet er det samme, men dette værktøj kræver ingen installation, virker i enhver browser, viser den præcise fejlposition og kan bruges, selv når du ikke sidder ved din egen computer — for eksempel på en delt arbejdsstation eller på mobilen.

Hvad sker der, hvis jeg ved et uheld indsætter følsomme data, som CPR-numre?

Fordi al behandling sker i din browser, og intet sendes til en server, er risikoen den samme som at indsætte teksten i din egen notesbog. Vi anbefaler dog altid at fjerne rigtige CPR-numre og kundedata, før du deler resultatet videre.

Relaterede værktøjer