JSON-formaterare och -validerare Pro

Formatera, validera, fråga, jämför och transformera JSON — helt i din webbläsare

JSON-indata

Indrag

Formaterad utdata

Den formaterade utdatan visas här

JSON-formaterare, validerare, JSONPath, diff och schema — onDevTools

Formatera, validera, fråga, jämför och transformera JSON helt i din webbläsare. Strikt parser enligt RFC 8259 plus JSONC-läge, validering mot JSON Schema Draft 2020-12, JSONPath enligt RFC 9535, deep diff med JSON Merge Patch samt transformationer för platta ut / återställa / ta bort null-värden — ingen uppladdning, ingen spårning.

Funktioner

  • Pretty-printa och minifiera JSON med konfigurerbart indrag (2, 4, 8 mellanslag) och valfri alfabetisk sortering av nycklar
  • Strikt parser enligt RFC 8259 / ECMA-404 plus ett tolerant JSONC-läge som accepterar // och /* */ kommentarer samt avslutande kommatecken
  • Interaktiv ihopfällbar trädvy med fritextsökning, expandera/fäll ihop alla samt kopiering per nod av värde eller JSON Pointer-sökväg
  • JSON Schema-validerare (Draft 2020-12) som rapporterar överträdelser av type, required, enum, pattern, min/max, oneOf/anyOf/allOf, additionalProperties och array-element med fullständiga instanssökvägar
  • JSONPath-frågemotor (RFC 9535) med stöd för jokertecken, rekursiv nedstigning (..), array-sektionering och filteruttryck som $[?(@.price > 10)]
  • Djup sida-vid-sida-diff med färgkodade tillagda / borttagna / ändrade / oförändrade segment plus kopia eller nedladdning av diff-resultatet
  • Transformationspipeline: platta ut till punktnotation, återställ, ta bort null-värden, ta bort tomma strängar/arrayer/objekt och kedja operationer
  • Instrumentpanel för JSON-statistik: totalt antal objekt, antal objekt och arrayer, uppdelning per typ samt maximalt nästningsdjup
  • Inline felrapportering med rad och kolumn från parsern plus förslag att aktivera JSONC-läge när felet ser ut som ett kommentar- eller avslutande kommatecken-problem
  • Kopiering eller nedladdning med ett klick för formaterad, minifierad, schema- eller diff-utdata
  • Körs helt klientsidan — JSON, scheman och diff-indata lämnar aldrig din webbläsare

Så använder du

  1. Klistra in eller släpp din JSON i panelen JSON-indata — autoformatering startar medan du skriver, eller klicka på Formatera för en explicit körning.
  2. Om parsningen misslyckas på en konfigurationsfil eller VS Code-inställningar, slå på JSONC-växeln för att tillåta kommentarer och avslutande kommatecken och kör om.
  3. Växla till trädvyn för att utforska djupt nästade strukturer; använd sökrutan för att markera matchande nycklar eller värden och kopiera valfri nods sökväg eller värde.
  4. Öppna fliken Schemavalidering, klistra in ett JSON Schema-dokument och klicka på Validera — varje överträdelse visar det felande nyckelordet och JSON Pointer-sökvägen till det berörda värdet.
  5. Använd fliken Diff-jämförelse för att jämföra två JSON-dokument och kopiera patchen som en JSON Merge Patch som är klar att tillämpa på annat håll.
  6. Använd fliken JSONPath-fråga för att extrahera eller filtrera delar av dokumentet med uttryck som $.store.book[?(@.price < 10)].title.
  7. Använd fliken Transformationer för att platta ut, återställa eller ta bort null-värden; kedja transformationer genom att köra dem igen på den uppdaterade indatan och kopiera eller ladda sedan ner resultatet.

Tips och bästa praxis

  • Slå på JSONC i samma stund som du ser 'Unexpected token /' eller 'Unexpected token ,' — det är nästan alltid en konfigurationsfil med kommentarer eller ett avslutande kommatecken.
  • Använd Sortera nycklar innan du committar JSON-konfigurationsfiler för att hålla PR-diffar minimala.
  • Kopiera JSON Pointer-sökvägen från trädvyn för att lägga in en djuplänk till en specifik nod i din buggrapport eller PR-beskrivning.
  • Om ett 64-bitars ID renderas som 1234567890123456800 skickar din producent det som ett tal — ändra API:et så att ID:n skickas som strängar.
  • Kedja Ta bort null-värden → Minifiera → Kopiera för att producera den minsta möjliga payloaden för HTTP-request-bodies.

Vanliga frågor

Lagrar ni min JSON?

Nej. Parsning, validering, schemakontroller, diffning och transformationer körs alla i din webbläsare via lokal JavaScript och Web Crypto- / DOM-API:er — inget laddas upp. Det gör det säkert att klistra in API-svar, konfigurationsfiler eller känsliga payloads från produktionssystem.

Vilken JSON-specifikation följer parsern?

Strikt läge följer RFC 8259 / ECMA-404, IETF- och ECMA-standarderna för JSON. JSONC-läget (slå på JSONC-växeln) lägger till tilläggen för kommentarer och avslutande kommatecken som används av VS Codes settings.json, tsconfig.json och liknande konfigurationsfiler. JSON5 (t.ex. nycklar utan citationstecken, enkla citationstecken, hex-tal) stöds för närvarande inte — använd en JSON5-parser om din indata kräver dessa former.

Vad stöder JSON Schema-validatorn?

Valideringen körs mot JSON Schema Draft 2020-12 med fullt stöd för type, required, enum, pattern, format, minimum/maximum, minLength/maxLength, minItems/maxItems, additionalProperties, items, prefixItems, oneOf/anyOf/allOf, $ref samt villkorlig if/then/else. Varje överträdelse rapporterar det felande nyckelordet plus JSON Pointer-sökvägen till det felaktiga värdet, så du kan peka ut djupt nästade problem utan att gå igenom hela instansen.

Vilka JSONPath-uttryck stöds?

Frågemotorn implementerar ytan av RFC 9535: rot ($), barnsegment ($.key, $['key']), array-index och -sektion ([0], [0:3]), jokertecken ([*]), rekursiv nedstigning (..) samt filteruttryck med jämförelse-, regex- och logiska operatorer (t.ex. $[?(@.price > 10 && @.in_stock == true)]). Flera resultat returneras som en array; värden extraheras i dokumentordning.

Vad är skillnaden mellan JSONC och JSON5?

JSONC är vanlig JSON plus //-radkommentarer, /* */-blockkommentarer och avslutande kommatecken — populärt för manuellt redigerade konfigurationsfiler. JSON5 är en superset som dessutom tillåter nycklar utan citationstecken, strängar med enkla citationstecken, hex-tal och tal med inledande decimal samt NaN/Infinity. Det här verktyget stöder JSONC; för JSON5-indata behöver du konvertera den först eller använda en JSON5-parser.

Kan jag formatera mycket stora JSON-filer?

Ja, men trädvyn och JSONPath-motorn skalar ungefär linjärt med antalet noder, så över ~1 MB / ~50 000 noder blir användargränssnittet märkbart långsammare. För stora payloads, använd Enkel text-vyn istället för Träd, kör Minifiera-transformationen först om du bara behöver kompakt utdata, eller dela upp dokumentet efter toppnivå-nyckel. Strömning och JSON Lines (.jsonl) ligger utanför scopet — använd ett CLI som jq för det.

Hur står sig detta mot jq, jsonlint eller VS Codes inbyggda formaterare?

jq är oslagbart för skriptade pipelines och strömning, och jsonlint täcker strikt validering. Det här verktygets fördel är att göra allt på ett ställe — formatera + validera + schemakontroll + JSONPath + deep diff + transformationer — utan att lämna webbläsaren. VS Codes inbyggda formaterare hanterar pretty-printing men inte schemamedvetna felvägar, JSONPath eller diff/merge.

Varför säger parsern 'Unexpected token' på en konfigurationsfil?

Parsern är strikt som standard, så //-kommentarer, /* */-block och avslutande kommatecken ger alla ett fel som pekar på det berörda tecknet. Statuspanelen föreslår automatiskt att aktivera JSONC-läge när felmönstret matchar någon av dessa funktioner. Om meddelandet pekar på en helt citerad sträng, dubbelkolla efter icke-escapade backslashes eller styrtecken — det är de andra vanliga bovarna.

Kan jag anpassa indrag och nyckelordning?

Ja. Välj 2, 4 eller 8 mellanslag i Indrag-kontrollen och slå på Sortera nycklar för att skriva ut objektnycklar i alfabetisk ordning — användbart för stabila diffar och reproducerbara konfigurationsfiler. Utdata är alltid UTF-8 med radbrytningsavskilda rader (ingen BOM); formateraren omordnar aldrig array-element eftersom det skulle ändra semantiken.

Vilka transformationsoperationer finns tillgängliga?

Platta ut konverterar {a:{b:1}} till {"a.b":1} för verktyg som förväntar sig nycklar i punktnotation (miljövariabler, feature flags). Återställ vänder på det. Ta bort null-värden tar bort alla properties med null-värde rekursivt, Ta bort tomma tar dessutom bort tomma strängar, [] och {}, och Minifiera producerar en enradsutdata. Transformationer tillämpas på den aktuella indatan, så du kan kedja dem för att bygga pipelines.

Stöder verktyget extraktion av JSON Pointer-sökvägar?

Ja. I trädvyn visas vid hover på valfri nod dess JSON Pointer-sökväg (RFC 6901) — t.ex. /store/book/0/author — som du kan kopiera med ett klick. JSON Pointer är samma notation som schema- och diff-resultat använder för att identifiera platser, så du kan klistra in en sökväg från en panel i en annan för att navigera till samma värde.

Kan jag dela ett formaterat resultat med en kollega?

Snabbaste sättet är att klistra in JSON på deras maskin — det finns ingen serversidestate att dela en länk till. Behöver du en permalänkliknande överlämning, använd en Gist eller paste-tjänst med den minifierade utdatan. Undvik i alla fall att dela tokens, hemligheter eller PII, även klientsidan, eftersom den mottagande kollegans urklipp eller konsol kan spara dem.

Hanterar det Unicode och stora tal korrekt?

All indata behandlas som UTF-8 och surrogat-par (emoji, CJK-tecken) går rundresan utan escape. Tal över Number.MAX_SAFE_INTEGER (2^53 − 1) tappar precision eftersom den underliggande parsern använder IEEE-754-doubles — det är en egenhet i JSON-specifikationen, inte en begränsning hos verktyget. Om du transporterar 64-bitars ID:n, skicka dem som strängar, vilket är vad de flesta API:er gör.