JSON-validator
Plak een willekeurig JSON-document en zie of het netjes parset volgens RFC 8259. Ongeldige invoer komt terug met het exacte probleem, afsluitende komma na het laatste array-item, key zonder aanhalingstekens, niet-afgesloten string, enkele aanhalingstekens waar JSON dubbele eist, foute escape-sequences, plus de regel en kolom waar de parser het opgaf. Handig bij het debuggen van een API-respons, een configbestand, een package.json die een teamgenoot met de hand heeft bewerkt of de output van een code-generator.
Zo werkt JSON-validatie
-
1
Plak je JSON
Zet er een payload, een configbestand of een API-respons in. Witruimte is prima; tabs en comments niet (pure JSON heeft geen comments).
-
2
Parse met een strikte RFC 8259-parser
De validator weigert alles wat de spec verbiedt: afsluitende komma's, keys zonder aanhalingstekens, enkele aanhalingstekens, `undefined`, hexgetallen.
-
3
Lees de fout
Als het misgaat, krijg je de melding van de parser plus een geschatte locatie: genoeg om direct naar het teken te navigeren.
-
4
Repareer en hervalideer
Los het probleem op, plak opnieuw en bevestig dat het document geldig is voordat je commit of verstuurt.
Wat strikte JSON toestaat, en wat niet
Er zweven veel “bijna-JSON”-formaten rond (JSON5, JSONC, HJSON, YAML-achtige hybrides). De JSON-spec zelf is klein en strikt; deze validator vertelt je of je document een strikte parser overleeft, en dat is wat de meeste downstream-systemen daadwerkelijk draaien.
Regels waar de meeste mensen op vastlopen
| Regel | Geldig | Ongeldig |
|---|---|---|
| Keys moeten dubbele-quote strings zijn | {"a": 1} |
{a: 1} |
| Strings gebruiken alleen dubbele aanhalingstekens | "hello" |
'hello' |
| Geen afsluitende komma’s | [1, 2, 3] |
[1, 2, 3,] |
| Geen comments | (geen) | // comment of /* */ |
Getallen: geen voorloop-+, geen .5 |
0.5 |
+1, .5 |
| Alleen gereserveerde literals | true, false, null |
undefined, NaN |
| UTF-8-codering | Unicode-strings | Ongeldige bytereeksen |
Veelvoorkomende fouten en wat ze betekenen
- “Unexpected token
}”, je hebt een afsluitende komma vóór de sluitende accolade. - “Expected property name”, de key staat niet tussen aanhalingstekens, of je bent de aanhalingstekens rond de openingskey vergeten.
- “Unexpected end of input”, een openende
{of[is niet afgesloten; tel de accolades. - “Bad control character”, een tab, newline of ander control-byte binnen een string-literal. Escape ze als
\t,\n, enzovoort. - “Duplicate key”, eigenlijk geen JSON-spec-fout (de spec zegt dat keys uniek SHOULD zijn), maar veel validators waarschuwen ervoor. De validator markeert het als een notice, niet als een harde fout.
Als je laksere formaten nodig hebt
- JSON5 staat afsluitende komma’s, comments en enkele aanhalingstekens toe. Gebruik een JSON5-parser als dat je doelformaat is.
- JSONC (JSON met comments) gebruiken de VS Code-instellingen. Verwijder comments vóór het strikte parsen.
- YAML is een ander formaat; ga er niet vanuit dat het “gewoon ingesprongen JSON” is.
Tips
- Valideer voor het committen. Een typfout in een
package.jsonof een CI-config breekt de hele build totdat iemand het opmerkt. - Pretty-print na het valideren zodat review-diffs leesbaar zijn. Een JSON-bestand op één regel is geldig maar ellendig om te reviewen.
- Voor grote payloads, valideer streamend (
jqop de command line, bijvoorbeeld). In-browser parsen worstelt voorbij een paar MB.
Veelgestelde vragen
Deze tool controleert alleen de syntactische geldigheid, is het well-formed JSON? Voor structurele regels (verplichte velden, enum-waarden, stringlengtes) gebruik je een JSON Schema-validator. De twee stappen vullen elkaar aan: het heeft geen zin om Schema-validatie te draaien op een document dat niet eens geldige JSON is.
Omdat standaard-JSON geen comments heeft. // en /* */ zijn een gezond-verstand-uitbreiding (JSONC, JSON5), maar pure JSON weigert ze. Verwijder comments voordat je naar een strikte consumer stuurt, of stap over op JSON5 in je hele stack.
Ongeldig in strikte JSON. De spec staat alleen eindige getallen toe. Serialiseer ze als strings ("NaN", "Infinity") of als null, afhankelijk van hoe je consumer met ontbrekende data omgaat.
Nee, de validatie draait in je browser, dus de payload die je plakt verlaat de pagina nooit. Veilig voor gevoelige configbestanden en API-responsen met inloggegevens.
Gerelateerde tools
Webpack-configuratiegenerator
Maak een webpack.config.js voor webpack 5 vanuit een kort formulier: stel entry, uitvoermap en mode in en zet TypeScript, Babel, een CSS-loader, HtmlWebpackPlugin en een dev-server aan.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
SVG-golfgenerator
Genereer een vloeiende SVG-golfscheiding voor headers en footers met instelbare amplitude, frequentie, kleur en positie boven of onder. Kopieer de SVG-code.
Decimaal naar hexadecimaal converter
Voer een decimaal geheel getal in en ontvang direct de hexadecimale waarde, inclusief negatieve waarden als 64-bits tweecomplement.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
JSON-editor online
Bewerk JSON lokaal in de browser, bekijk de opgemaakte structuur, formatteer of minimaliseer tekst, sorteer sleutels en download een JSON-bestand.
Tool beschikbaar in andere talen
- مدقّق JSON [AR]
- Validador JSON [ES]
- JSON 검사기 [KO]
- Trình kiểm tra JSON [VI]
- Validateur JSON [FR]
- ตัวตรวจสอบความถูกต้องของ JSON [TH]
- Walidator JSON [PL]
- JSON-validator [SV]
- Validador JSON [PT]
- JSON Validator [ID]
- JSONバリデーター [JA]
- JSON-Validator [DE]
- JSON Validator [EN]
- Validator JSON [IT]
- Валидатор JSON [RU]
- JSON Doğrulayıcı [TR]
- JSON 校验器 [ZH]