Cum se folosește
- Lipiți JSON-ul în casetă, deschideți un fișier sau apăsați „Încercați un exemplu” pentru a vedea un raport de eroare.
- Citiți rezultatul: un mesaj verde pentru JSON valid sau prima eroare cu linia, coloana și un marcator sub problemă.
- Remediați eroarea descrisă de indiciu și verificați din nou; rezultatul se actualizează pe măsură ce tastați.
- Pentru JSON valid, citiți statisticile: tipul rădăcinii, numărul de chei, adâncimea de imbricare și dimensiunea în octeți.
Cum funcționează
Validatorul verifică sintaxa conform standardului JSON (RFC 8259 / ECMA-404) folosind parserul JSON propriu al browserului, astfel încât un document care trece aici este acceptat de JSON.parse din JavaScript și de parserii conformi cu standardul din alte limbaje. Când analiza eșuează, un verificator strict scris pentru acest instrument parcurge textul o singură dată pentru a găsi prima eroare și linia și coloana exacte, apoi afișează linia respectivă cu un marcator ^ sub problemă.
Sugestiile se concentrează pe greșelile pe care oamenii le fac de fapt atunci când JSON-ul este scris manual sau copiat din JavaScript: virgulă după ultimul element, șiruri între ghilimele simple, chei fără ghilimele, comentarii // sau /* */, valori precum NaN, Infinity sau undefined, linii noi brute în interiorul șirurilor și două documente JSON lipite unul după altul (ca în fișierele JSON Lines). Este raportată doar prima eroare, deoarece o singură greșeală deseori afectează tot ce urmează.
Instrumentul verifică doar sintaxa. Nu validează conform unei scheme JSON, deci nu poate spune dacă un câmp obligatoriu lipsește. De asemenea, nu avertizează cu privire la chei duplicate: standardul le permite, iar majoritatea parserilor păstrează ultima valoare. Statisticile numără cheile din fiecare obiect de la fiecare nivel; adâncimea este 1 pentru un obiect sau array plat și crește cu unu pentru fiecare nivel de imbricare.
Exemple
Configurație copiată din JavaScript
{name: 'demo', debug: true,} eșuează la linia 1, coloana 2 cu „Cheile obiectului trebuie să fie între ghilimele duble”. După ce puneți cheia între ghilimele, următoarea rulare indică șirul cu ghilimele simple, apoi virgula finală.
Un fișier jurnal cu câte un obiect pe linie
Lipirea a două linii precum {"id":1} și {"id":2} raportează „mai mult conținut după sfârșitul valorii JSON” la linia 2. Fiecare linie este JSON valid separat (JSON Lines), dar împreună trebuie încadrate în [ ] și separate prin virgulă.
Verificarea unui payload API
Un răspuns de 2 MB se validează imediat și afișează Tip rădăcină: Array, 1.500 de elemente la nivel superior și o adâncime de imbricare de 4, o verificare rapidă înainte de a scrie cod bazat pe el.
Întrebări frecvente
Validează acest instrument conform unui JSON Schema?
Nu. Verifică dacă textul este JSON bine format. Verificarea câmpurilor obligatorii, a tipurilor sau a formatelor necesită un validator JSON Schema, pe care acest instrument nu îl include.
De ce este afișată doar o singură eroare?
După prima eroare de sintaxă, un parser nu poate ști ce a intenționat autorul, așa că „erorile” ulterioare sunt adesea efecte secundare ale primei. Remediați problema raportată și următoarea, dacă există, apare imediat.
Sunt comentariile sau virgulele finale vreodată valide?
Nu în JSON. Formate precum JSON5 și JSONC (folosite de fișierele de setări ale unor editoare) le permit, dar parserii JSON standard le resping, așa că aici sunt raportate ca erori.
Este o singură valoare precum 42 sau „hello” un JSON valid?
Da. Începând cu RFC 7159, orice valoare JSON poate fi rădăcina, nu doar obiectele și array-urile. Unele instrumente și API-uri mai vechi încă se așteaptă la un obiect sau un array la nivelul superior.
De ce poate coloana să difere de coloana din editorul meu?
Coloanele sunt numărate în unități de cod UTF-16, așa cum JavaScript numără lungimea șirului. Emoji-urile și unele caractere rare contează ca două, iar un tab contează ca o coloană, deși editoarele îl pot afișa mai lat.
Confidențialitate
Validarea rulează complet în browser. JSON-ul lipit sau deschis nu este încărcat, stocat sau inclus în analize.