JSON Formatter

Formatatorul nostru JSON este un instrument online gratuit și rapid pentru dezvoltatori, creat pentru a formata, valida și comprima date JSON. Introdu codul JSON și vezi instantaneu formatarea clară, cu sintaxă evidențiată. Validatorul indică exact unde apar erorile, afișând numărul liniei, astfel încât să poți remedia ușor codul JSON incorect. Suportă indentare cu 2 spații, 4 spații sau tab, plus compresie (minify) dintr-un clic pentru mediul de producție. Tot procesul are loc în browser — datele tale JSON, inclusiv informațiile confidențiale, nu părăsesc niciodată pagina.

star 4.9
auto_awesome AI
New

JSON Formatter calculator

info Paste JSON to format
0 lines 0 B 0 keys depth 0

lightbulb Tips

  • •JSON keys must use double quotes
  • •Trailing commas are not valid JSON
  • •Use 2-space indent for most projects
  • •Minify JSON for API payloads

Cum să formatezi, validezi și comprimi JSON în 3 pași

content_paste

Lipește JSON

Lipește codul tău JSON brut sau neformatat în editor. Acceptă orice text JSON valid (sau nevalid).

code

Formatează sau Minimizează

Fă clic pe Formatează pentru a aranja codul cu indentarea aleasă, sau pe Minimizează pentru a-l comprima. Erorile sunt evidențiate automat.

content_copy

Copiază rezultatul

Fă clic pe butonul Copiază pentru a copia JSON-ul formatat în clipboard. Folosește-l în codul tău, în solicitările API sau în fișierele de configurare.

bug_report

Corectează erorile

Dacă codul JSON este nevalid, mesajul de eroare indică exact linia și poziția. Corectează problema și reformatează.

The Formula

Formatarea JSON funcționează prin analizarea șirului JSON brut într-un obiect JavaScript (ceea ce îl validează), apoi prin re-serializarea acestuia cu indentarea corespunzătoare. La fel de simplu ca atunci când folosești un **calculator ore munca** sau un **calculator de ore** pentru **calculare ore** și pentru a înțelege **cum se calculeaza orele**, acest instrument îți oferă rezultate instantanee. Dacă analiza eșuează, mesajul de eroare include poziția erorii de sintaxă. Minificarea elimină toate spațiile libere prin eliminarea completă a indentării.

JSON.parse(input) → JSON.stringify(parsed, null, indent)

lightbulb Variables Explained

  • input Șirul JSON brut care urmează să fie formatat
  • JSON.parse() Validează și analizează JSON — returnează eroare dacă este nevalid
  • JSON.stringify() Convertește obiectul analizat înapoi într-un șir formatat
  • indent Numărul de spații (2 sau 4) sau caracterul tab pentru indentare

tips_and_updates Pro Tips

1

Folosește o indentare de 2 spații pentru fișiere compacte și 4 spații pentru o mai bună citibilitate

2

Comprimă (minify) fișierul JSON înainte de a trimite cereri API pentru a reduce dimensiunea datelor

3

Erori frecvente: virgulele finale, ghilimelele simple și cheile fără ghilimele nu sunt permise în JSON

4

Apasă Ctrl+A pentru a selecta tot, apoi lipește — formatatorul gestionează automat spațiile libere

5

Cheile JSON trebuie să fie întotdeauna șiruri între ghilimele duble — {key: value} nu este un JSON valid

6

Tablourile (arrays) și obiectele pot fi goale: [] și {} reprezintă un JSON valid

7

null, true, false sunt valori JSON valide — dar undefined și NaN nu sunt

8

Specificația RFC 8259 necesită codare UTF-8 — folosește secvențe de evacuare de tip \uXXXX pentru caracterele non-ASCII dacă protocolul de transport permite doar ASCII

9

Sortează alfabetic cheile obiectelor înainte de a compara două fișiere JSON pentru a obține un diferențial mai clar

10

Pentru fișiere foarte mari, preferă parserii de tip streaming (jq, ijson, Jackson Streaming) în locul funcției JSON.parse

Formatează, validează și minifică JSON instantaneu cu evidențierea sintaxei, numerele liniilor cu erori și copiere printr-un singur clic. Toată procesarea rulează în browserul tău — lipește răspunsuri API, payload-uri JWT sau configurații sensibile fără ca acestea să îți părăsească vreodată dispozitivul. Fie că ai nevoie de un **calculator ore lucrate** pentru **calcul ore** sau de un **numar de zile intre doua date**, platforma noastră oferă instrumente rapide pentru orice nevoie. Mai jos: cum funcționează formatatorul, specificația JSON conform căreia se validează (RFC 8259 / ECMA-404) și analize detaliate despre JSON Schema, JSONPath, JSON Lines, JSON5 și capcanele de securitate pe care orice dezvoltator ar trebui să le cunoască.

Formatator JSON Online: Pretty Print și înfrumusețare pentru orice JSON

Lipește un cod JSON compact, minificat sau dezordonat și obține instantaneu un rezultat perfect indentat. Formatatorul analizează codul tău JSON folosind funcția nativă a browserului JSON.parse (conform ECMA-404), păstrează caracterele Unicode și îl generează din nou cu indentarea aleasă de tine:

  • 2 spații (implicit pentru npm și prettier)
  • 4 spații
  • tab

Obiectele și matricele imbricate sunt indentate corect la orice nivel de profunzime. Cheile, șirurile de caractere, numerele, valorile booleene și null primesc culori diferite pentru evidențierea sintaxei, astfel încât să poți parcurge structura dintr-o privire.

Termenul de „beautifier” este interschimbabil cu cel de „formatator” sau „pretty printer” — toate descriu aceeași operațiune: transformarea unui JSON compact într-un format ușor de citit de către oameni.

Cum se validează JSON: Conformitatea cu RFC 8259 și erori comune

Validarea rulează pe măsură ce tastezi. Dacă analiza codului tău JSON eșuează, formatatorul îți arată linia exactă, coloana și ce anume aștepta parserul.

Validarea este strictă conform RFC 8259 (standardul de internet IETF) și ECMA-404 — fără comentarii, fără virgule la sfârșit, fără ghilimele simple, fără chei neîncadrate în ghilimele, fără NaN, fără Infinity, fără undefined. Valoarea de la nivelul superior poate fi orice valoare JSON validă (obiect, matrice, șir de caractere, număr, true, false, null).

Pentru intrările codificate în UTF-8, formatatorul acceptă întregul set de caractere Unicode; mediile care folosesc doar ASCII ar trebui să utilizeze secvențe de eludare de tip \uXXXX.

Erori comune și remedieri:

  • virgulă suplimentară după ultimul element dintr-o matrice sau obiect (trebuie eliminată)
  • ghilimele simple în jurul cheilor sau șirurilor de caractere (înlocuiește-le cu ghilimele duble)
  • acoladă sau paranteză de închidere lipsă (coloana de eroare indică zona unde s-a întrerupt codul)
  • caractere de control neeludate în șiruri (folosește secvențe de eludare precum \n, \t, \\)

Minificator JSON: Reducerea dimensiunii datelor pentru API-uri și producție

Minificarea elimină toate spațiile libere nesemnificative — spațiile dintre tokenuri, indentările și liniile noi — lăsând cea mai compactă reprezentare posibilă. Economiile tipice sunt de 20–60%, în funcție de cât de mult a fost indentat codul JSON sursă.

Folosește JSON minificat pentru:

  • răspunsuri API REST/GraphQL
  • mesaje WebSocket
  • payload-uri JWT
  • blocuri de configurare SaaS
  • atribute de date încorporate în HTML

Păstrează codul JSON formatat (pretty-printed) pentru:

  • fișiere de configurare gestionate prin sisteme de control al versiunilor
  • structuri de date fixe (fixtures) și snapshot-uri în teste
  • documente editate manual

JSON-ul minificat rămâne 100% un JSON standard — orice parser conform îl va accepta. Minificatorul de aici păstrează datele exact așa cum sunt: fără reordonarea cheilor, fără conversii forțate de valori, fără pierderi de precizie pentru numerele din intervalul de dublă precizie IEEE 754. (Dacă ai nevoie de alte calcule specifice, încearcă un calculator volum apa sau un calculator putere electrica pe site-ul nostru).

Validare JSON Schema: Validarea tipurilor, a câmpurilor obligatorii și a enumerărilor

Validarea simplă a sintaxei JSON verifică doar dacă documentul poate fi analizat. JSON Schema validează structura documentului — de exemplu, că „email” este un șir de caractere, „age” este un număr întreg între 0 și 150, iar „role” este una dintre valorile ['admin', 'user', 'guest']. O schemă este ea însăși un document JSON care descrie aceste constrângeri; instanțele sunt validate în raport cu aceasta.

Cuvinte-cheie comune: type, required, properties, items, enum, pattern (regex), minimum/maximum, minLength/maxLength, format (email, date-time, uri).

Implementări de referință:

  • Ajv (JavaScript, cea mai rapidă)
  • jsonschema (Python)
  • networknt/json-schema-validator (Java)
  • justinrainbow/json-schema (PHP)

Validarea prin schemă previne o clasă uriașă de erori la nivelul API-ului: câmpuri obligatorii lipsă, tipuri de date greșite, valori în afara intervalului permis, date calendaristice incorecte. Specificațiile OpenAPI 3.x folosesc JSON Schema pentru validarea cererilor și a răspunsurilor.

Tutorial JSONPath: Interogarea și extragerea valorilor din structuri JSON imbricate

JSONPath este pentru JSON ceea ce este XPath pentru XML — un limbaj de interogare pentru navigarea și extragerea de date dintr-un JSON imbricat.

Sintaxă:

  • $ (rădăcină)
  • . (copil)
  • .. (descendență recursivă)
  • [n] (index de matrice)
  • [start:end] (secțiune)
  • [?(expresie)] (filtru)
  • * (wildcard)

Exemple pe un JSON tipic de magazin:

  • $.store.book[0].title obține titlul primei cărți
  • $..author returnează fiecare autor din întregul document
  • $.store.book[?(@.price < 10)] filtrează cărțile mai ieftine de 10
  • $.store..price[*] aplatizează toate prețurile

Instrumente: jq (sintaxă ușor diferită, dar aceleași capabilități, dominant în scripting-ul de consolă), scripturi de testare în Postman, JMESPath (opțiunea --query din AWS CLI) și biblioteci JSONPath în toate limbajele de programare majore. (Dacă ai nevoie de alte instrumente utile, cum ar fi un calculator ritm alergare, un calculator fractii sau un calculator zodie pentru un calcul zodie rapid, explorează meniul nostru).

JSON Lines (JSONL): JSON delimitat prin caractere de linie nouă pentru loguri și fluxuri de date

JSON Lines (jsonlines.org), cunoscut și sub numele de NDJSON sau LDJSON, este un format în care fiecare linie reprezintă o valoare JSON completă. Fișierul în ansamblu nu este un JSON valid — dar fiecare linie în parte este.

Este utilizat intens pentru streaming de loguri (Loki, Splunk HEC, Vector), pipeline-uri ETL, date de antrenament pentru machine learning (fișiere de fine-tuning OpenAI) și orice flux de date de tip append-only (doar adăugare).

Avantaje:

  • ideal pentru streaming (analizează câte o înregistrare pe rând, consum de memorie constant)
  • append-only (trebuie doar să scrii următoarea linie)
  • ușor de procesat cu grep și awk folosind instrumente Unix standard

Extensii de fișiere: .jsonl, .ndjson. Conversia dintr-un tablou (array) JSON se face cu `jq -c '.[]'`; conversia într-un tablou JSON se face cu `jq -s` (slurp). BigQuery, Athena, Snowflake și majoritatea depozitelor de date moderne importă NDJSON în mod nativ.

JSON5 vs JSON: Când să folosești fiecare format în siguranță

JSON5 (json5.org) extinde formatul JSON cu facilități utile pentru dezvoltatori:

  • comentarii (// și /* */)
  • virgule de final (trailing commas)
  • șiruri de caractere delimitate prin ghilimele simple
  • chei fără ghilimele
  • șiruri de caractere pe mai multe linii (folosind backslash pentru continuare)
  • numere hexazecimale
  • valori speciale IEEE 754 (NaN, Infinity)

Nu este compatibil cu JSON.parse — ai nevoie de un parser JSON5 (pachetul npm json5, PyJson5).

Folosește JSON5 pentru fișiere de configurare editate manual, unde comentariile sunt utile: babel.config.json5, anumite configurări pentru instrumente de build, .vscode/settings.json (care folosește JSONC, un dialect similar de JSON cu comentarii).

Rămâi la JSON strict pentru: API-uri HTTP, schimb de date, formate de stocare și orice este generat automat de mașină. Amestecarea celor două induce în eroare instrumentele de dezvoltare — alege un singur format per fișier și respectă-l.

Erori comune în JSON: Virgule de final, ghilimele simple și codificare

Cele mai frecvente erori de parsare JSON și rezolvările lor:

  • (1) Virgulă de final după ultimul element — `{"a":1,}` sau `[1,2,3,]` — elimină virgula de la sfârșit.
  • (2) Ghilimele simple pentru chei sau valori de tip șir — `{'name':'Alice'}` — trebuie folosite ghilimele duble.
  • (3) Chei fără ghilimele — `{name:"Alice"}` — pune-le între ghilimele.
  • (4) Comentarii care folosesc // sau /* */ — JSON strict nu le permite; șterge-le sau treci la JSON5/JSONC.
  • (5) Valori JavaScript care nu există în JSON — undefined, NaN, Infinity, funcții — înlocuiește-le cu null sau elimină-le.
  • (6) Input trunchiat — parserul indică de obicei linia unde s-a terminat conținutul așteptat.
  • (7) BOM (byte-order mark) la începutul unui fișier UTF-8 — majoritatea parserelor îl resping; elimină-l cu `sed -i '1s/^\xEF\xBB\xBF//'`.
  • (8) Amestecul de taburi și spații nu afectează parsarea, dar strică diferențele (diff-urile) — alege un singur stil de indentare.

Securitatea JSON: Poluarea prototipului (Prototype Pollution), Eval și parsarea sigură

Trei categorii de vulnerabilități legate de JSON pe care orice dezvoltator ar trebui să le înțeleagă.

  • (1) Poluarea prototipului (Prototype pollution): îmbinarea unui JSON nesigur într-un obiect existent poate polua Object.prototype dacă inputul conține cheile __proto__, constructor sau prototype — afectând fiecare obiect din runtime. Folosește Object.create(null), structuredClone sau librării precum defaultsDeep din lodash care blochează explicit aceste chei.
  • (2) Nu folosi niciodată eval() pentru a parsa JSON — eval execută orice cod JavaScript, în timp ce JSON.parse este izolat (sandboxed). Mitul conform căruia „eval este mai rapid” a fost demontat cu ani în urmă.
  • (3) Capcane la re-serializare: JSON.stringify omite în mod silențios funcțiile, valorile undefined și Symbol din obiecte (le convertește în null în tablouri). De asemenea, aruncă erori la referințe circulare și BigInt în mod implicit.

Validează JSON-ul nesigur cu JSON Schema înainte de procesare, setează o dimensiune maximă a corpului cererii (body size) în API-ul tău și folosește verificări Content-Type pentru a respinge rapid inputurile care nu sunt JSON. Ghidul OWASP REST Security Cheat Sheet acoperă întreaga imagine.

Convertește JSON în YAML, CSV și XML: Ghid de conversie a formatelor

JSON ↔ YAML este conversia cu cele mai puține pierderi — ambele formate acceptă obiecte/tablouri imbricate. Atenție la conversia automată a tipurilor în YAML (yes/no/on/off devin booleeni, numerele fără ghilimele rămân numere, șirul literal 'null' devine null) — pune între ghilimele valorile ambigue. Instrumente: js-yaml (npm), PyYAML, yq.

JSON → CSV necesită aplatizarea structurii imbricate — funcționează cel mai bine pentru tablouri de obiecte simple. Alege o strategie pentru valorile imbricate: stringify (scrierea ca JSON într-o celulă) sau coloane cu notație prin punct (`address.city`, `address.zip`). Instrumente: in2csv din csvkit, pandas pd.json_normalize, json2csv (npm).

JSON → XML este simplu pentru structurile arborescente, dar pierde distincția dintre tablou și obiect — elementele XML adiacente pot fi oricare dintre ele. Atenție la numele de elemente XML nevalide (nu pot începe cu cifre, nu pot conține spații). Instrumente: xml-js, xmltodict (Python).

Pentru toate conversiile, decide de la început dacă păstrezi informațiile despre tipuri sau dacă aplatizezi totul în șiruri de caractere.

Lucrul cu fișiere JSON mari: Parsere de tip Streaming și sfaturi pentru memorie

JSON.parse încarcă întregul document în memorie — este în regulă pentru răspunsurile tipice de API, dar problematic pentru fișierele de peste câteva sute de MB. Parserele de tip streaming procesează câte un token (sau o înregistrare) pe rând, menținând un consum de memorie constant, indiferent de dimensiunea fișierului.

  • JavaScript: stream-json sau oboe.js pentru parsare de tip SAX.
  • Python: ijson pentru parsare incrementală, sau convertește mai întâi în JSON Lines și citește linie cu linie.
  • Java: Jackson Streaming API (JsonParser).
  • Shell: jq procesează JSON în mod streaming prin --stream.

Pentru fișierele de mai sus generate ca tablouri JSON de înregistrări, ia în considerare comutarea producătorului pentru a emite JSON Lines în schimb — fiecare consumator din aval va avea de câștigat. Când trebuie să gestionezi un tablou JSON uriaș în memorie, preferă să iterezi și să elimini înregistrările în loc să construiești o structură de date paralelă. Monitorizează dimensiunea heap-ului, setează --max-old-space-size în Node și profilează înainte de a optimiza.

Ghid rapid pentru formatarea JSON: Indentare, sortarea cheilor, Diff și Escape

Ghid rapid pentru sarcinile zilnice legate de JSON.

  • Indentare: prettier și npm folosesc implicit 2 spații; alege 4 pentru baze de cod enterprise care folosesc deja indentarea cu 4 spații în diverse limbaje; taburile sunt valide, dar rare în JSON.
  • Sortarea cheilor (pentru diff-uri mai clare): JSON.stringify(obj, Object.keys(obj).sort(), 2) pentru obiecte simple; jq --sort-keys pentru recursivitate profundă; Python json.dumps(obj, sort_keys=True).
  • Diferența (diff) dintre două fișiere JSON: rulează jq --sort-keys pe ambele fișiere, apoi folosește diff-ul obișnuit; sau folosește json-diff (npm), DeepDiff (Python), compararea nativă integrată în VS Code.
  • Secvențe de escape în șiruri de caractere: \\" (ghilimele duble), \\\\ (backslash), \\/ (slash, opțional), \\b (backspace), \\f (form feed), \\n (linie nouă), \\r (carriage return), \\t (tab), \\uXXXX (punct de cod Unicode).
  • Numere: JSON permite zecimale și exponenți (1.5e3), dar nu permite zerouri la început (0123 este nevalid) și nici punct zecimal la final (1. este nevalid).
  • Șirurile de caractere trebuie să fie între ghilimele duble — ghilimelele simple sunt permise doar în JSON5.
code

Embed this JSON Formatter on your site

Free for any site. Copy the snippet below and paste into your HTML — no attribution required beyond the built-in credit link.

<iframe src="https://calculators.im/embed/json-formatter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="JSON Formatter by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/json-formatter?utm_source=embed&utm_medium=snippet&utm_campaign=json-formatter">JSON Formatter</a> by Calculators.im</p>
open_in_new Preview embed Auto-resizing iframe. Mobile responsive. Works with WordPress, Ghost, Webflow, and plain HTML.

Frequently Asked Questions

sell

Tags