Så här använder du det
- Klistra in din JSON i rutan, öppna en fil eller tryck på ”Testa ett exempel” för att se en felrapport.
- Läs resultatet: ett grönt meddelande för giltig JSON, eller det första felet med rad, kolumn och en markering under problemet.
- Åtgärda felet som tipset beskriver och kontrollera igen; resultatet uppdateras medan du skriver.
- För giltig JSON kan du läsa statistiken: rottyp, antal nycklar, kapslingsdjup och storlek i byte.
Så fungerar det
Validatorn kontrollerar syntaxen mot JSON-standarden (RFC 8259 / ECMA-404) med webbläsarens egen JSON-parser, så ett dokument som godkänns här accepteras av JavaScripts JSON.parse och av standardföljande tolkar i andra språk. Om parsningen misslyckas går en strikt kontrollfunktion som är skriven för det här verktyget igenom texten en gång för att hitta det första felet samt dess exakta rad och kolumn, och visar sedan raden med en ^-markering under problemet.
Tipsen fokuserar på de misstag människor faktiskt gör när JSON skrivs för hand eller kopieras från JavaScript: ett kommatecken efter det sista elementet, strängar med enkla citattecken, nycklar utan citattecken, kommentarer med // eller /* */, värden som NaN, Infinity eller undefined, råa radbrytningar inuti strängar och två JSON-dokument som klistrats in efter varandra (som i JSON Lines-filer). Endast det första felet rapporteras, eftersom ett enda misstag ofta förvirrar allt efter det.
Verktyget kontrollerar endast syntax. Det validerar inte mot ett JSON Schema, så det kan inte avgöra om ett obligatoriskt fält saknas. Det varnar inte heller för dubblettnycklar: standarden tillåter dem, och de flesta tolkare behåller det sista värdet. Statistiken räknar nycklar i varje objekt på varje nivå; djupet är 1 för ett plant objekt eller en platt array och ökar med ett för varje nästlad nivå.
Exempel
Konfiguration kopierad från JavaScript
{name: 'demo', debug: true,} misslyckas på rad 1, kolumn 2 med ”Objektnycklar måste stå inom dubbla citattecken”. När nyckeln har citattecken pekar nästa körning på strängen med enkla citattecken och sedan på det avslutande kommatecknet.
En loggfil med ett objekt per rad
Om du klistrar in två rader som {"id":1} och {"id":2} rapporteras ”mer innehåll efter JSON-värdets slut” på rad 2. Varje rad är giltig JSON för sig (JSON Lines), men tillsammans måste de omges av [ ] och separeras med kommatecken.
Kontrollera en API-nyttolast
Ett 2 MB stort svar valideras på ett ögonblick och visar rottyp: Array, 1 500 element på toppnivå och ett kapslingsdjup på 4, en snabb rimlighetskontroll innan du skriver kod mot det.
Vanliga frågor
Validerar det här mot ett JSON Schema?
Nej. Det kontrollerar att texten är välformad JSON. Att kontrollera obligatoriska fält, typer eller format kräver en JSON Schema-validerare, något som det här verktyget inte innehåller.
Varför visas bara ett fel?
Efter det första syntaxfelet kan en parser inte veta vad författaren menade, så senare ”fel” är ofta bieffekter av det första. Åtgärda det rapporterade problemet så visas nästa fel omedelbart, om det finns något.
Är kommentarer eller avslutande kommatecken någonsin giltiga?
Inte i JSON. Format som JSON5 och JSONC (som används i inställningsfiler i vissa redigerare) tillåter dem, men standard-JSON-parserar avvisar dem, så här rapporteras de som fel.
Är ett enskilt värde som 42 eller ”hello” giltig JSON?
Ja. Sedan RFC 7159 kan vilket JSON-värde som helst vara roten, inte bara objekt och arrayer. Vissa äldre verktyg och API:er förväntar sig fortfarande ett objekt eller en array på toppnivå.
Varför kan kolumnen skilja sig från min redigerare?
Kolumnerna räknas i UTF-16-kodenheter, på samma sätt som JavaScript räknar stränglängd. Emoji och vissa ovanliga tecken räknas som två, och en tabb räknas som en kolumn, medan redigerare kan visa den bredare.
Integritet
Valideringen sker helt i din webbläsare. Den JSON du klistrar in eller öppnar laddas inte upp, lagras inte och ingår inte i analysen.