JSON-formaterare
Validera, snygga till eller minifiera JSON-data direkt.
Vad är JSON?
JSON (JavaScript Object Notation) är det mest använda formatet för att utbyta data mellan webbapplikationer och API:er. Det beskriver strukturerad data som läsbar text med nyckel–värde-par, listor och nästlade objekt. Ett enkelt JSON-objekt kan se ut så här: {"namn": "Elsa", "alder": 30, "aktiv": true}. JSON är oberoende av programspråk, eftersom nästan alla språk stöder det, och har i stort sett ersatt XML som standard för svar från webb-API:er, konfigurationsfiler och datalagring.
Formatet har strikta syntaxregler: nycklar måste vara strängar inom dubbla citattecken, och värden kan vara strängar (inom dubbla citattecken), tal, booleska värden (true eller false), null, listor (inom hakparenteser) eller objekt (inom klammerparenteser). Vanliga fel är enkla citattecken i stället för dubbla, ett extra kommatecken efter sista elementet i ett objekt eller en lista och specialtecken i strängar som inte har escapats.
Formatera eller minifiera: när du använder vilket
Formatering lägger till indrag och radbrytningar så att JSON blir lätt att läsa. Svar från API:er och minifierade JSON-filer är oftast en enda lång rad utan blanksteg, omöjlig att läsa med blotta ögat. Formateringen ordnar datan i en indragen struktur där varje nyckel–värde-par står på en egen rad och nästlade objekt syns tydligt. Använd formatering när du behöver läsa, granska eller felsöka JSON.
Minifiering tar bort alla onödiga blanksteg, tabbar och radbrytningar som inte ingår i strängvärden och ger den kortaste möjliga representationen. Det minskar filstorleken, vilket spelar roll i API:er och webbapplikationer där JSON skickas över nätet. Redan 20 % mindre JSON-data kan i stor skala förbättra laddningstider och svarstider märkbart. Använd minifiering när du förbereder JSON för produktion.
Så fungerar valideringen
Valideringen försöker tolka din JSON med webbläsarens inbyggda JSON.parse(), samma tolk som alla JavaScript-applikationer använder. Om tolkningen lyckas är JSON giltig. Om den misslyckas talar felmeddelandet om vad som gick fel och var. Verktyget går längre än ett enkelt godkänt eller underkänt: det hämtar teckenpositionen ur felmeddelandet och gör om den till rad- och kolumnnummer, så att du kan gå direkt till problemet.
Vanliga JSON-fel är saknade eller extra kommatecken mellan element, enkla citattecken för strängar eller nycklar, kommatecken efter sista elementet i ett objekt eller en lista (tillåtet i JavaScript men inte i JSON), specialtecken i strängar som inte har escapats (bakstreck, citattecken, tabb och radbrytning måste escapas) och kommentarer (JSON stöder inte kommentarer, så //, /* och # är alla ogiltiga).
Användningsområden
Felsökning av API:er: när du testar REST-API:er med verktyg som Postman, curl eller webbläsaren kommer svaren ofta som minifierad JSON. Klistra in dem här för att se strukturen tydligt. Konfigurationsfiler: många program använder JSON för inställningar (package.json, tsconfig.json, .prettierrc med flera). Enhetlig formatering gör dem lättare att underhålla och ändringarna lättare att läsa i versionshanteringen. Dataanalys: innan du importerar JSON-data till exempelvis Python (pandas), R eller en databas hjälper en granskning av strukturen dig att hitta oväntade fält och formatfel. Att lära sig JSON: för den som är ny med JSON gör det strukturen lättare att förstå att se sin egen data formaterad, och fel i handskriven JSON blir lättare att hitta.
Vanliga frågor
Är det säkert att klistra in min data här?
Ja. All bearbetning sker helt i webbläsaren med JavaScript, och din JSON skickas aldrig till någon server. Du kan kontrollera det genom att koppla från internet innan du klistrar in och formaterar: verktyget fungerar helt utan uppkoppling. Därför är det säkert att använda även med känslig data, som interna API-svar eller konfigurationer med inloggningsuppgifter.
Varför stöder JSON inte kommentarer?
Douglas Crockford, som utformade JSON, har förklarat att han medvetet uteslöt kommentarer för att de inte skulle användas som tolkningsdirektiv, vilket har lett till kompatibilitetsproblem i andra format. JSON är tänkt som ett rent och minimalt format för datautbyte, inte ett konfigurationsformat. För konfigurationsfiler där kommentarer är användbara passar till exempel JSONC (JSON with Comments, som används av VS Code) eller YAML bättre.
Vad är skillnaden mellan JSON och JavaScript-objekt?
Objektlitteraler i JavaScript liknar JSON men har viktiga skillnader: i JavaScript-objekt kan nycklar sakna citattecken, strängar kan ha enkla citattecken, det kan finnas kommatecken efter sista elementet, kommentarer och till och med funktioner som värden. JSON kräver dubbla citattecken runt alla nycklar och strängar, tillåter inte avslutande kommatecken eller kommentarer och tillåter bara datavärden (inte funktioner eller undefined).
Hur hanterar jag mycket stora JSON-filer?
För mycket stora JSON-filer (flera megabyte) kan webbläsarbaserade verktyg vara långsamma. För filer över 1 MB är det bättre att använda ett kommandoradsverktyg som Pythons modul json.tool (python3 -m json.tool input.json) eller programmet jq, som hanterar stora filer effektivare än JavaScript i webbläsaren.
JSON i vanliga programspråk
JavaScript/Node.js: JSON.parse(sträng) gör om en JSON-sträng till ett objekt och JSON.stringify(objekt, null, 2) gör om ett objekt till en formaterad JSON-sträng med två blankstegs indrag. Python: json.loads(sträng) tolkar JSON och json.dumps(objekt, indent=2) formaterar den. Java: bibliotek som Jackson eller Gson sköter serialisering. PHP: json_decode() och json_encode() är inbyggda funktioner. C#: System.Text.Json eller det populära biblioteket Newtonsoft.Json. Att förstå själva JSON-formatet är oberoende av språk, samma regler gäller överallt.