Structura și sintaxa datelor JSON
Formatul JSON (JavaScript Object Notation) este un standard deschis pentru reprezentarea datelor structurate sub formă de text. Acesta este utilizat pe scară largă în schimbul de date între aplicații web și servere prin intermediul API-urilor. Structura sa se bazează pe două entități principale: colecții de perechi nume/valoare (reprezentate ca obiecte delimitate de acolade {}) și liste ordonate de valori (reprezentate ca array-uri delimitate de paranteze pătrate ``).
Pentru ca un document să fie considerat valid, acesta trebuie să respecte reguli stricte de sintaxă. Cheile obiectelor trebuie să fie întotdeauna șiruri de caractere delimitate de ghilimele duble, iar valorile pot fi obiecte, array-uri, șiruri de caractere, numere, valori booleene (true, false) sau valoarea null. Spre deosebire de alte formate sau limbaje de programare, JSON nu permite utilizarea comentariilor sau a virgulelor finale (trailing commas) la sfârșitul listelor de elemente.
Validarea și identificarea erorilor de sintaxă
Validarea riguroasă a structurii JSON este esențială înainte de transmiterea sau stocarea datelor. Atunci când datele introduse nu respectă specificațiile standard, instrumentul oprește procesarea și afișează mesajul de eroare specific, indicând locația exactă sub forma linia {line}, coloana {col}. Utilizatorul poate naviga direct la zona problematică folosind butonul Mergi la eroare.
Printre cele mai frecvente erori de sintaxă identificate și semnalate se numără:
Lipsește o virgulă între elementeVirgulă în plus înainte de închidereCheile obiectelor trebuie puse între ghilimele dubleLipsesc două puncte după numele unei proprietățiUnui șir de caractere îi lipsesc ghilimelele de închidereJSON-ul se termină prea devreme — pare trunchiatCaracter neașteptat acolo unde ar trebui să fie o valoareAcest JSON este imbricat prea adânc pentru a putea fi procesat
Spre deosebire de alte medii de analiză care îmbină sau ignoră intrările duplicat, acest instrument tratează cheile duplicate ca erori explicite, afișând mesajul Cheie duplicată {key} — eliminați una înainte de formatare. De asemenea, dacă analiza structurală depășește limitele de timp sigure, procesul este oprit cu mesajul Verificarea acestui JSON a durat prea mult și a fost oprită. Încercați un document mai mic..
Tehnici de formatare și ordonare a cheilor
Formatarea datelor JSON îmbunătățește lizibilitatea structurilor complexe prin aplicarea de indentări și spațieri adecvate. Utilizatorul poate selecta nivelul de indentare dorit și tipul de sintaxă din selectorul Sintaxă, având de ales între JSON standard și JSONC. După aplicarea operațiunii, interfața afișează mesajul JSON formatat..
Pe lângă indentare, organizarea internă a obiectelor poate fi optimizată prin sortarea cheilor. Funcția Sortează cheile acționează pe baza regulii descrise în instrucțiunea sa: Sortează recursiv cheile obiectelor în ordinea punctelor de cod. Ordinea elementelor din array-uri nu se schimbă niciodată.. După finalizarea acestei acțiuni, sistemul afișează confirmarea Chei sortate — ordinea din array-uri a rămas neschimbată. Apăsați Ctrl/Cmd+Z pentru a anula..
Minificarea datelor JSON
În timp ce formatarea este ideală pentru analiza umană, transmiterea datelor prin rețea sau stocarea lor în baze de date beneficiază de pe urma minificării. Prin apăsarea butonului Minifică, instrumentul elimină toate spațiile libere, tabulatorii și caracterele de linie nouă care nu se află în interiorul unor șiruri de caractere.
Această operațiune reduce dimensiunea totală a fișierului fără a altera structura semantică a datelor. La finalizarea procesului, interfața afișează mesajul JSON minificat. și actualizează indicatorii de stare ai documentului.
Navigarea prin structuri complexe în modul Arbore
Pentru documentele de dimensiuni mari, vizualizarea liniară a codului poate fi dificil de urmărit. Modul de vizualizare Arbore oferă o reprezentare ierarhică și interactivă a datelor, etichetând nodul principal ca rădăcină. Utilizatorii pot extinde sau restrânge nodurile individual folosind butoanele Extinde {key} și `Restrânge `{key}, sau global prin Extinde tot și Restrânge tot.
Modul de vizualizare interactiv include funcții avansate de căutare și limite de performanță:
- Căutare: Caseta
Căutați chei și valoripermite localizarea rapidă a elementelor, afișând potrivirile sub forma{current}` din `{total}sau ``{current}din{total}+în cazul în care numărul de rezultate este limitat. Dacă nu există rezultate, se afișeazăNicio potrivire. Navigarea se face prinPotrivirea anterioarășiPotrivirea următoare. - Limitări de randare: Dacă datele introduse sunt nevalide, modul de vizualizare afișează
Corectați codul JSON pentru a-l vizualiza sub formă de arbore.. Dacă fișierul depășește capacitatea de procesare vizuală, se afișeazăAcest JSON este prea mare pentru a fi redat sub formă de arbore.sauAcest JSON are prea multe valori pentru a fi redat sub formă de arbore.. - Limitări de extindere: La extinderea completă a unui arbore masiv, afișajul este limitat la o secțiune sigură, afișând
Acest JSON este prea mare pentru a fi extins complet — se afișează primele{count}rânduri., oferind opțiunea de a încărca elemente suplimentare prin butonulAfișează încă{count}….
Extragerea datelor cu JSON Pointer și JSONPath
Atunci când este necesară copierea unei anumite secțiuni dintr-un document JSON complex, utilizatorul poate accesa meniul Opțiuni de copiere pentru {key}`` direct din nodul respectiv al arborelui. Acesta oferă trei metode distincte de extragere:
Copiază valoarea: Extrage valoarea brută asociată cheii selectate.Copiază JSON Pointer: Generează calea de acces conform standardului RFC 6901 (de exemplu,/utilizator/profil/nume).Copiază JSONPath: Generează expresia de interogare utilizată pentru filtrarea și selectarea datelor în stil XPath (de exemplu,$.utilizator.profil.nume).
La selectarea oricărei opțiuni, starea este confirmată prin mesajul Copiat în clipboard..
Detectarea și repararea formatelor non-standard
Instrumentul include un motor de analiză capabil să identifice structuri de date care seamănă cu JSON, dar nu respectă standardul strict. În momentul detectării, se afișează un mesaj de diagnosticare și o acțiune de corectare corespunzătoare:
| Format detectat | Mesaj de detectare | Acțiune propusă |
|---|---|---|
| Markdown Code Fence | Acesta pare a fi JSON într-un bloc de cod Markdown. |
Prin aplicare se păstrează doar codul JSON din interiorul blocului. |
| Escaped String | Acesta pare a fi JSON cu caractere escapate în interiorul unui șir. |
Prin aplicare, șirul este convertit înapoi în JSON simplu. |
| Python Dictionary | Acesta pare a fi un dicționar în stil Python, nu JSON. |
Prin aplicare, ghilimelele și True/False/None sunt rescrise ca JSON. |
| JSON Lines | Acesta pare a fi JSON Lines — o valoare pe fiecare linie. |
Prin aplicare, liniile sunt grupate într-un singur array JSON. |
| JSONP Callback | Acesta pare a fi JSON încapsulat într-un callback JSONP. |
Prin aplicare se elimină învelișul callback-ului. |
| JSONC | Acesta pare a fi JSONC — comentarii sau virgule finale. Schimbați sintaxa la JSONC sau aplicați corecția. |
Prin aplicare se elimină comentariile și virgulele finale. |
Utilizatorul poate iniția procesul prin butonul Previzualizează corecția, care deschide fereastra Previzualizarea corecției prezentând comparativ secțiunile Original și După corecție. Dacă modificările sunt majore, se afișează avertismentul Previzualizare trunchiată — corecția afectează întregul document.. Corecția se aplică prin butonul Aplică corecția (generând mesajul Corecția a fost aplicată. Apăsați Ctrl/Cmd+Z pentru a anula.) sau poate fi anulată prin Renunță. Dacă algoritmul nu poate rezolva problemele de structură, se afișează Aceste date nu au putut fi reparate automat..
Reguli de procesare, limite și confidențialitate
Procesarea datelor introduse în Formator JSON se realizează respectând următoarele specificații tehnice și limite de sistem:
- Confidențialitate locală: Codul JSON este procesat direct în browser. Nimic nu este încărcat pe serverele BroBroGo.
- Păstrarea preciziei numerice: Instrumentul păstrează numerele întregi mari (large integers) fără a le altera valoarea sau precizia în timpul operațiunilor de formatare sau minificare.
- Dimensiuni maxime: Limita maximă pentru fișierele încărcate este de 10 MiB. Dacă se încearcă încărcarea unui fișier care depășește această valoare, se afișează mesajul
Fișierul este prea mare — limita este{limit}.. Dacă datele introduse direct depășesc această limită, se afișeazăDatele introduse depășesc{limit}, mai mult decât poate procesa acest instrument.. - Pragul de procesare sincronă: Pentru documentele care depășesc 250.000 de caractere, procesarea trece din modul instantaneu în mod asincron pentru a preveni blocarea interfeței.
- Cerințe de fișier: Sunt acceptate doar fișiere cu extensia
.jsonsau.txt. În caz contrar, se afișeazăTip de fișier neacceptat — alegeți un fișier.json sau.txt.. Fișierele trebuie să fie codificate exclusiv în format UTF-8; în caz contrar, se afișeazăAcest fișier nu este text UTF-8, așa că nu poate fi deschis aici.. Dacă apar erori la citire, se va afișaFișierul nu a putut fi citit. Încercați să îl alegeți din nou..
Întrebări frecvente
Sunt încărcate datele mele JSON?
Nu. Formatorul rulează în întregime în browserul dumneavoastră și nu încarcă datele JSON pe niciun server.
Ce face funcția de minificare?
Minificarea elimină spațiile și întreruperile de rând inutile, păstrând în același timp aceleași date JSON intacte.
Ce se întâmplă dacă fișierul meu JSON conține chei duplicate?
Spre deosebire de alte instrumente care îmbină cheile în mod silențios, acest formator va opri procesarea și va afișa o eroare de tipul Cheie duplicată {key} — eliminați una înainte de formatare pentru a preveni pierderea accidentală de date.
Pot formata fișiere care conțin comentarii?
Da, puteți schimba tipul de sintaxă la JSONC din selectorul de sintaxă sau puteți folosi funcția de reparare automată pentru a elimina comentariile și a converti documentul în JSON standard.