Slik bruker du det
- Lim inn JSON-en i boksen, åpne en fil, eller trykk på «Prøv et eksempel» for å se en feilrapport.
- Les resultatet: en grønn melding for gyldig JSON, eller den første feilen med linje, kolonne og en markør under problemet.
- Rett feilen som hintet beskriver, og sjekk på nytt. Resultatet oppdateres mens du skriver.
- For gyldig JSON kan du lese statistikken: rottype, antall nøkler, nøstedybde og størrelse i byte.
Slik fungerer det
Validatoren sjekker syntaksen mot JSON-standarden (RFC 8259 / ECMA-404) ved hjelp av nettleserens egen JSON-parser, slik at et dokument som godkjennes her, godtas av JavaScripts JSON.parse og av standardkonforme parsere i andre språk. Når parsing mislykkes, går en streng sjekker skrevet for dette verktøyet gjennom teksten én gang for å finne den første feilen og dens nøyaktige linje og kolonne, og viser deretter linjen med en ^-markør under problemet.
Hintene fokuserer på feilene folk faktisk gjør når JSON skrives for hånd eller kopieres fra JavaScript: komma etter siste element, strenger med enkle anførselstegn, nøkler uten anførselstegn, //- eller /* */-kommentarer, verdier som NaN, Infinity eller undefined, rå linjeskift inne i strenger, og to JSON-dokumenter limt inn etter hverandre (som i JSON Lines-filer). Bare den første feilen rapporteres, fordi én feil ofte forvirrer alt etter den.
Verktøyet sjekker kun syntaks. Det validerer ikke mot et JSON Schema, så det kan ikke fortelle deg om et obligatorisk felt mangler. Det advarer heller ikke om dupliserte nøkler: Standarden tillater dem, og de fleste parsere beholder den siste verdien. Statistikken teller nøkler i hvert objekt på alle nivåer; dybden er 1 for et flatt objekt eller en flat array og øker med én for hvert nestingsnivå.
Eksempler
Konfigurasjon kopiert fra JavaScript
{name: 'demo', debug: true,} feiler på linje 1, kolonne 2 med «Objektnøkler må stå i doble anførselstegn». Etter at nøkkelen er satt i anførselstegn, peker neste kjøring på strengen med enkle anførselstegn, og deretter på det etterfølgende kommaet.
En loggfil med ett objekt per linje
Hvis du limer inn to linjer som {"id":1} og {"id":2}, får du meldingen «mer innhold etter slutten av JSON-verdien» på linje 2. Hver linje er gyldig JSON alene (JSON Lines), men sammen må de pakkes inn i [ ] og skilles med komma.
Sjekke en API-nyttelast
Et svar på 2 MB valideres på et øyeblikk og viser Rottype: Array, 1 500 elementer på øverste nivå og en nøstedybde på 4 – en rask fornuftssjekk før du skriver kode mot det.
Ofte stilte spørsmål
Validerer dette mot et JSON Schema?
Nei. Den sjekker at teksten er velformet JSON. Å sjekke obligatoriske felt, typer eller formater krever en JSON Schema-validator, som dette verktøyet ikke inkluderer.
Hvorfor vises bare én feil?
Etter den første syntaksfeilen kan ikke en parser vite hva forfatteren mente, så senere «feil» er ofte følgefeil av den første. Løs det rapporterte problemet, så vises den neste feilen, hvis det finnes noen, umiddelbart.
Er kommentarer eller etterfølgende komma noen gang gyldige?
Ikke i JSON. Formater som JSON5 og JSONC (brukt av enkelte editorers innstillingsfiler) tillater dem, men standard JSON-parsere avviser dem, så de rapporteres som feil her.
Er en enkelt verdi som 42 eller "hello" gyldig JSON?
Ja. Siden RFC 7159 kan enhver JSON-verdi være roten, ikke bare objekter og arrayer. Enkelte eldre verktøy og API-er forventer fortsatt et objekt eller en array på øverste nivå.
Hvorfor kan kolonnen avvike fra kolonnen i editoren min?
Kolonner telles i UTF-16-kodeenheter, slik JavaScript teller strenglengde. Emoji og enkelte sjeldne tegn teller som to, og et tab teller som én kolonne, mens editorer kan vise det bredere.
Personvern
Valideringen kjøres helt i nettleseren din. JSON-en du limer inn eller åpner, lastes ikke opp, lagres ikke og inkluderes ikke i analyse.