Ghiduri

Ce este JSON? Un ghid simplu, cu exemple

JSON (JavaScript Object Notation) este un format de text simplu pentru a scrie date structurate — lucruri precum un client, o comandă sau o listă de produse — ca perechi de nume și valori. Este ușor de citit pentru oameni și ușor de produs și de analizat pentru programe. Când aplicațiile și serviciile schimbă date prin web, JSON este de departe cel mai comun format.

De ce contează JSON când construiești cu AI

Vei întâlni JSON constant, chiar dacă nu scrii niciodată cod:

  • API-uri. Când ecranele aplicației tale încarcă date din backend-ul ei, sau când backend-ul tău apelează un serviciu de plăți, de email sau de AI, datele circulă de obicei ca JSON. Vezi ce este un API.
  • Fișiere de setări. Multe fișiere de configurare ale proiectelor sunt JSON — de exemplu package.json, care listează dependențele unui proiect JavaScript.
  • Baze de date. Postgres poate stoca JSON într-o coloană (tipul jsonb) pentru date care nu se potrivesc în rânduri și coloane clare. Vezi ce este Postgres.
  • Răspunsurile AI. Când vrei ca un model AI să returneze ceva ce un program poate folosi — o listă de etichete, câmpuri extrase dintr-o factură — de obicei ceri JSON.
  • Mesaje de eroare și jurnale. Multe erori sosesc ca JSON, iar citirea lor este adesea cel mai rapid mod de a afla ce a mers prost.

Ca să citești JSON, poți verifica ce a primit efectiv aplicația ta, poți observa un câmp lipsă și poți descrie precis problemele constructorului tău cu AI.

O analogie din viața de zi cu zi

Gândește-te la un formular pe hârtie: Nume: ____, Telefon: ____, Newsletter: ☐ da ☐ nu. Fiecare completare este o etichetă cu o valoare alături. JSON este acel formular scris ca text, într-un aranjament strict pe care un calculator îl poate citi fără să ghicească. Și, ca formularele, JSON poate avea secțiuni în interiorul altor secțiuni (un bloc de adresă cu stradă, oraș și cod poștal) și liste (mai multe numere de telefon).

Cum arată JSON

Iată o singură rezervare în JSON:

{
  "id": 5001,
  "customer": "Lena Park",
  "service": "Haircut",
  "startsAt": "2026-10-03T14:00:00Z",
  "price": 35.5,
  "paid": false,
  "notes": null,
  "extras": ["beard trim", "hot towel"],
  "contact": {
    "email": "lena@example.com",
    "phone": "+44 20 7946 0000"
  }
}

Cum se citește:

  • Acoladele { } înconjoară un obiect — un set de perechi nume/valoare.
  • Fiecare pereche este "nume": valoare, separate prin virgule.
  • Parantezele pătrate [ ] înconjoară o listă (un array) — o listă ordonată.
  • Obiectele și listele pot fi unele în altele, cum se întâmplă cu contact și extras.

Cele șase tipuri de valori

JSON are doar șase tipuri de valori. Această listă scurtă este o parte importantă din motivul pentru care funcționează peste tot.

TipExempluObservații
Șir de caractere (text)"Lena Park"Întotdeauna ghilimele duble
Număr35.5, -2, 1e6Fără ghilimele; fără simboluri monetare
Booleantrue, falseLitere mici, fără ghilimele
Nullnull„Nicio valoare”
Obiect{ "city": "Leeds" }Valori cu nume
Listă (array)[1, 2, 3]Listă ordonată; elementele pot fi de orice tip

Nu există un tip pentru date. Datele se scriu ca șiruri de caractere, de obicei în formatul ISO 8601 arătat mai sus (2026-10-03T14:00:00Z, unde Z înseamnă UTC). Acordul asupra acestui format evită o întreagă categorie de erori legate de fusul orar.

Regulile stricte (de unde vin erorile)

JSON este mai puțin tolerant decât pare. Toate acestea sunt invalide:

{ name: "Lena" }            ← cheie fără ghilimele duble
{ 'name': 'Lena' }          ← ghilimele simple
{ "a": 1, "b": 2, }         ← virgulă în plus la final
{ "a": 1 "b": 2 }           ← virgulă lipsă
{ "a": 1 // comentariu }    ← comentariile nu sunt permise

Majoritatea erorilor „Unexpected token” pe care le vei vedea sunt una dintre acestea. Un validator sau un formatator JSON îți arată linia exactă.

Un exemplu practic: JSON printr-o aplicație

Un client rezervă o tunsoare într-o aplicație de salon. Iată unde apare JSON:

  1. Formularul de rezervare trimite acest lucru către backend-ul aplicației:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Backend-ul salvează rezervarea în baza de date și răspunde cu statusul 201 Created și cu:
{ "id": 5001, "status": "confirmed" }
  1. Dacă ora era deja ocupată, ar putea răspunde în schimb cu statusul 409 Conflict și cu:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }

Pagina citește status sau error și afișează mesajul potrivit. Dacă pagina ar afișa în schimb un ecran gol, deschiderea instrumentelor pentru dezvoltatori ale browserului (fila Network) ți-ar arăta acest JSON — adesea cel mai rapid indiciu despre ce a mers prost.

Termeni cheie

TermenSens
Cheie (key)Numele dintr-o pereche nume/valoare, precum "email".
Parse (analiză)Transformarea textului JSON în date pe care un program le poate folosi.
Serializare / stringifyTransformarea datelor în text JSON pentru a le trimite sau salva.
Payload (încărcătură)Datele trimise într-o cerere sau un răspuns.
SchemăDescrierea formei pe care ar trebui să o aibă datele — ce câmpuri, ce tipuri. JSON Schema este un mod standard de a o scrie.
JSONBTipul de coloană JSON binar din Postgres, care poate fi indexat și interogat.
NDJSON / JSON LinesUn obiect JSON pe linie, frecvent pentru jurnale și streaming.

Concepții greșite frecvente

  • „JSON este JavaScript.” A provenit din sintaxa JavaScript, dar este independent de limbaj; Python, Java, C#, Go și restul îl citesc.
  • „Numerele între ghilimele sunt în regulă.” "35" este un șir de caractere, nu un număr. Amestecarea lor produce erori precum "35" + "5" devenind "355". Banii se stochează adesea ca sume întregi în cenți (3550), ca să se evite problemele de rotunjire.
  • „JSON este sigur pentru că este doar date.” JSON poate transporta orice, inclusiv secrete. Nu pune chei API în JSON trimis către browser.
  • „Pune totul într-o coloană JSON.” Este comod pentru extra-uri flexibile, dar datele după care cauți, filtrezi sau faci join de obicei aparțin unor coloane adecvate.
  • „AI-ul returnează mereu JSON valid.” Modelele pot adăuga text în plus sau pot strica formatul. Mulți furnizori oferă un mod de ieșire structurată; codul tău tot trebuie să verifice ce primește.

Ce să ceri constructorului tău cu AI

  • „Arată-mi un exemplu al JSON-ului pe care îl returnează acest endpoint.”
  • „Returnează erorile ca JSON, cu un cod error și un message lizibil pentru oameni.”
  • „Stochează datele ca șiruri ISO 8601 în UTC și convertește în ora locală doar la afișare.”
  • „Stochează prețurile ca numere întregi în cenți.”
  • „Validează JSON-ul primit pe server și respinge cererile cu câmpuri lipsă sau de tip greșit.”
  • „Când apelezi modelul AI, cere JSON exact în această formă și verifică-l înainte să îl folosești.”

JSON în Mythex

Nu trebuie să scrii JSON de mână în Mythex — descrii ce vrei și agentul scrie codul care îl trimite și îl citește. Totuși, ajută să îl recunoști: când ceva se strică, lipirea erorii JSON în chat îi oferă agentului un indiciu precis. Rețeta backend REST API din documentație cere „erori JSON clare” de la început, iar rețeta integrarea oricărui API acoperă apelarea serviciilor externe. Pentru imaginea de ansamblu, vezi REST vs GraphQL și cum depanezi o aplicație construită cu AI.

Întrebări

Ce este JSON, pe scurt?

JSON (JavaScript Object Notation) este un format de text simplu pentru a scrie date structurate ca nume și valori, de exemplu "name": "Lena". Aproape fiecare API web îl folosește ca să trimită date înainte și înapoi, iar multe aplicații îl folosesc pentru setări și date salvate.

JSON este un limbaj de programare?

Nu. JSON este un format de date, nu un limbaj. Nu poate face nimic de unul singur — doar descrie date. Deși provine din JavaScript, practic orice limbaj de programare îl poate citi și scrie.

Care este diferența dintre JSON și un obiect JavaScript?

Arată asemănător, dar JSON este mai strict. În JSON, fiecare cheie trebuie să fie între ghilimele duble, șirurile de caractere folosesc ghilimele duble, nu există comentarii, nu există virgule în plus la final, iar valorile se limitează la șiruri, numere, true, false, null, obiecte și liste.

De ce spune că JSON-ul meu este invalid?

Cauzele obișnuite sunt o virgulă în plus după ultimul element, ghilimele simple în loc de cele duble, o virgulă lipsă între elemente, o paranteză nerâmasă sau un comentariu. Lipește-l într-un validator JSON și acesta va indica linia.

Mythex · Pricing · Construiește orice cu AI · Șabloane pentru site-uri și aplicații · Mythex comparat · Glosar pentru crearea de aplicații cu AI · Instrumente gratuite pentru crearea de aplicații cu AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)