Zo gebruik je deze tool
- Plak uw JSON in het vak, open een bestand of klik op ‘Voorbeeld proberen’ om een foutrapport te bekijken.
- Lees het resultaat: een groen bericht betekent dat de JSON geldig is. Anders ziet u de eerste fout, met de regel, kolom en een markering onder het probleem.
- Los de fout op aan de hand van de hint en controleer opnieuw. Het resultaat wordt bijgewerkt terwijl u typt.
- Bekijk bij geldige JSON de statistieken: het type hoofdwaarde, het aantal sleutels, de nestingdiepte en de grootte in bytes.
Hoe het werkt
De validator controleert de syntaxis aan de hand van de JSON-standaard (RFC 8259 / ECMA-404) met de eigen JSON-parser van de browser. Een document dat deze controle doorstaat, wordt dus geaccepteerd door JavaScript's JSON.parse en door parsers in andere talen die aan de standaard voldoen. Als het parsen mislukt, doorloopt een strikte checker voor deze tool de tekst één keer om de eerste fout en de exacte regel en kolom te vinden. Vervolgens toont de tool die regel met een ^ onder de fout.
De aanwijzingen zijn gericht op fouten die vaak voorkomen wanneer mensen JSON met de hand schrijven of uit JavaScript kopiëren: een komma na het laatste item, tekenreeksen tussen enkele aanhalingstekens, sleutels zonder aanhalingstekens, //- of /* */-commentaar, waarden zoals NaN, Infinity of undefined, onbewerkte regeleinden in tekenreeksen en twee JSON-documenten die achter elkaar zijn geplakt (zoals in JSON Lines-bestanden). De tool meldt alleen de eerste fout, omdat één fout vaak alles erna in de war brengt.
De tool controleert alleen de syntaxis. De tool valideert niet aan de hand van een JSON Schema en kan dus niet aangeven of een verplicht veld ontbreekt. Ook waarschuwt de tool niet voor dubbele sleutels: de standaard staat die toe en de meeste parsers behouden de laatste waarde. De statistieken tellen sleutels in elk object, op elk niveau. De diepte is 1 voor een platte object- of arraystructuur en neemt met één toe voor elk genest niveau.
Voorbeelden
Configuratie gekopieerd uit JavaScript
{name: 'demo', debug: true,} geeft een fout op regel 1, kolom 2: “Object keys must be in double quotes”. Nadat u de sleutel tussen aanhalingstekens hebt gezet, wijst de volgende controle op de tekenreeks tussen enkele aanhalingstekens en daarna op de komma achteraan.
Logbestand met één object per regel
Als u twee regels plakt, zoals {"id":1} en {"id":2}, meldt de tool “more content after the end of the JSON value” op regel 2. Elke regel is afzonderlijk geldige JSON (JSON Lines), maar samen moeten ze tussen [ ] staan en door een komma worden gescheiden.
Een API-payload controleren
Een response van 2 MB wordt in een oogwenk gevalideerd. De tool toont Root type: Array, 1,500 items op het hoogste niveau en een nestdiepte van 4: een snelle plausibiliteitscontrole voordat u er code voor schrijft.
Veelgestelde vragen
Valideert deze tool JSON aan de hand van een JSON Schema?
Nee. Deze tool controleert of de tekst geldige JSON-syntaxis heeft. Voor het controleren van verplichte velden, typen of indelingen is een JSON Schema-validator nodig; die bevat deze tool niet.
Waarom wordt er maar één fout getoond?
Na de eerste syntaxfout kan een parser niet weten wat de auteur bedoelde. Latere ‘fouten’ zijn daarom vaak gevolgen van de eerste fout. Los het gemelde probleem op; als er nog een fout is, verschijnt die meteen.
Zijn opmerkingen of komma’s na het laatste item ooit toegestaan?
Niet in JSON. Indelingen zoals JSON5 en JSONC (gebruikt in instellingenbestanden van sommige editors) staan ze wel toe, maar standaard JSON-parsers wijzen ze af. Daarom worden ze hier als fouten gemeld.
Is één waarde, zoals 42 of "hello", geldige JSON?
Ja. Sinds RFC 7159 mag elke JSON-waarde de hoofdwaarde zijn, niet alleen objecten en arrays. Sommige oudere tools en API's verwachten nog steeds een object of array op het hoogste niveau.
Waarom kan het kolomnummer afwijken van dat in mijn editor?
Kolommen worden geteld in UTF-16-code-eenheden, zoals JavaScript de lengte van een tekenreeks telt. Emoji en sommige zeldzame tekens tellen als twee; een tab telt als één kolom, ook al wordt die in editors vaak breder weergegeven.
Privacy
De validatie vindt volledig plaats in uw browser. De JSON die u plakt of opent, wordt niet geüpload, opgeslagen of opgenomen in analytics.