Vodiči

Šta je JSON? Vodič objašnjen jednostavnim jezikom, s primjerima

JSON (JavaScript Object Notation) je jednostavan tekstualni format za zapisivanje strukturiranih podataka — stvari poput kupca, narudžbe ili liste proizvoda — kao parova naziva i vrijednosti. Lako ga je čitati ljudima, a programi ga lako generišu i parsiraju. Kada aplikacije i servisi razmjenjuju podatke preko weba, JSON je daleko najčešći format.

Zašto je JSON važan kada gradite uz AI

JSON ćete sretati stalno, čak i ako nikada ne pišete kod:

  • API-ji. Kada ekrani vaše aplikacije učitavaju podatke iz njenog backenda, ili kada vaš backend zove uslugu za plaćanje, e-poštu ili AI, podaci obično putuju kao JSON. Pogledajte šta je API.
  • Datoteke s postavkama. Mnoge konfiguracione datoteke projekta su JSON — na primjer package.json, koji navodi zavisnosti JavaScript projekta.
  • Baze podataka. Postgres može čuvati JSON u koloni (tip jsonb) za podatke koji se ne uklapaju u uredne redove i kolone. Pogledajte šta je Postgres.
  • Izlaz AI-ja. Kada želite da AI model vrati nešto što program može koristiti — listu oznaka, izvučena polja iz računa — obično tražite JSON.
  • Poruke o greškama i logovi. Mnoge greške stižu kao JSON, a njihovo čitanje je često najbrži način da saznate šta nije u redu.

Sposobnost čitanja JSON-a omogućava vam da provjerite šta je vaša aplikacija zaista primila, primijetite nedostajuće polje i precizno opišete problem vašem AI graditelju.

Svakodnevna analogija

Zamislite papirni obrazac: Ime: ____, Telefon: ____, Newsletter: ☐ da ☐ ne. Svaki unos je oznaka s vrijednošću pored nje. JSON je taj obrazac zapisan kao tekst, u strogom rasporedu koji računar može pročitati bez nagađanja. I kao obrasci, JSON može imati odjeljke unutar odjeljaka (blok adrese s ulicom, gradom i poštanskim brojem) i liste (više brojeva telefona).

Kako izgleda JSON

Evo jedne rezervacije u JSON formatu:

{
  "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"
  }
}

Čitanje:

  • Vitičaste zagrade { } obuhvataju objekat — skup parova naziva i vrijednosti.
  • Svaki par je "name": vrijednost, odvojen zarezima.
  • Uglaste zagrade [ ] obuhvataju niz — uređenu listu.
  • Objekti i nizovi mogu biti jedni unutar drugih, kao contact i extras.

Šest vrsta vrijednosti

JSON ima samo šest tipova vrijednosti. Ta mala lista je velik dio razloga zašto radi svuda.

TipPrimjerNapomene
String (tekst)"Lena Park"Uvijek dvostruki navodnici
Broj35.5, -2, 1e6Bez navodnika; bez simbola valute
Booleantrue, falseMala slova, bez navodnika
Nullnull„Nema vrijednosti”
Objekat{ "city": "Leeds" }Imenovane vrijednosti
Niz[1, 2, 3]Uređena lista; stavke mogu biti bilo kojeg tipa

Ne postoji tip za datum. Datumi se pišu kao stringovi, obično u ISO 8601 formatu prikazanom gore (2026-10-03T14:00:00Z, gdje Z označava UTC). Dogovor o tom formatu izbjegava čitavu kategoriju grešaka sa vremenskim zonama.

Stroga pravila (odakle dolaze greške)

JSON je manje oprostljiv nego što izgleda. Sve ovo je neispravno:

{ name: "Lena" }            ← ključ bez dvostrukih navodnika
{ 'name': 'Lena' }          ← jednostruki navodnici
{ "a": 1, "b": 2, }         ← zarez na kraju
{ "a": 1 "b": 2 }           ← nedostaje zarez
{ "a": 1 // comment }       ← komentari nisu dozvoljeni

Većina poruka „Unexpected token” koje vidite je jedna od ovih. Validator ili formater JSON-a pokazaće tačnu liniju.

Primjer: JSON kroz aplikaciju

Kupac rezerviše šišanje u aplikaciji salona. Evo gdje se JSON pojavljuje:

  1. Obrazac za rezervaciju šalje ovo backendu aplikacije:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Backend čuva rezervaciju u bazi podataka i odgovara statusom 201 Created i ovim:
{ "id": 5001, "status": "confirmed" }
  1. Ako je termin već zauzet, može umjesto toga odgovoriti statusom 409 Conflict i ovim:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }

Stranica čita status ili error i prikazuje pravu poruku. Ako bi umjesto toga stranica prikazala prazan ekran, otvaranje alata za programere u pretraživaču (kartica Network) pokazalo bi vam ovaj JSON — često najbrži trag o tome šta je pošlo po zlu.

Ključni pojmovi

PojamZnačenje
Ključ (key)Naziv u paru naziva i vrijednosti, poput "email".
Parsiranje (parse)Pretvaranje JSON teksta u podatke koje program može koristiti.
Serijalizacija / stringifyPretvaranje podataka u JSON tekst za slanje ili čuvanje.
PayloadPodaci poslani u zahtjevu ili odgovoru.
SchemaOpis oblika koji podaci treba da imaju — koja polja, kojih tipova. JSON Schema je standardni način za njegovo pisanje.
JSONBPostgresov binarni JSON tip kolone, koji se može indeksirati i pretraživati.
NDJSON / JSON LinesJedan JSON objekat po liniji, čest za logove i streaming.

Česte zablude

  • „JSON je JavaScript.” Potiče iz sintakse JavaScripta, ali nije vezan za jezik; Python, Java, C#, Go i ostali ga svi čitaju.
  • „Brojevi u navodnicima su u redu.” "35" je string, a ne broj. Miješanje dovodi do grešaka, poput "35" + "5" koji postaje "355". Novac se često bolje čuva kao cijeli centi (3550) da se izbjegnu problemi zaokruživanja.
  • „JSON je siguran jer su samo podaci.” JSON može nositi bilo šta, uključujući tajne. Ne stavljajte API ključeve u JSON koji se šalje pretraživaču.
  • „Sve stavi u JSON kolonu.” Zgodno za fleksibilne dodatke, ali podaci po kojima pretražujete, filtrirate ili spajate obično pripadaju pravim kolonama.
  • „AI uvijek vraća ispravan JSON.” Modeli mogu dodati dodatni tekst ili pokvariti format. Mnogi provajderi nude režim strukturiranog izlaza; vaš kod i dalje treba provjeriti šta stiže.

Šta tražiti od AI graditelja

  • „Pokaži mi primjer JSON-a koji ovaj endpoint vraća.”
  • „Vraćaj greške kao JSON s error kodom i message porukom čitljivom za ljude.”
  • „Čuvaj datume kao ISO 8601 stringove u UTC-u i pretvaraj u lokalno vrijeme tek na ekranu.”
  • „Čuvaj cijene kao cijele cente.”
  • „Validiraj dolazni JSON na serveru i odbij zahtjeve s nedostajućim poljima ili pogrešnim tipovima.”
  • „Kada zoveš AI model, traži JSON u ovom tačnom obliku i provjeri ga prije upotrebe.”

JSON u Mythexu

Ne morate ručno pisati JSON u Mythexu — opisujete šta želite, a agent piše kod koji ga šalje i čita. Ipak, korisno je prepoznati ga: kada nešto pukne, lijepljenje JSON greške u chat daje agentu precizan trag. Recept REST API backend u dokumentaciji od početka traži „jasne JSON greške”, a recept integracija bilo kojeg API-ja pokriva pozivanje vanjskih servisa. Za širu sliku pogledajte REST vs GraphQL i kako ispraviti grešku u aplikaciji izrađenoj uz AI.

Pitanja

Šta je JSON jednostavnim riječima?

JSON (JavaScript Object Notation) je format običnog teksta za zapisivanje strukturiranih podataka kao parova naziva i vrijednosti, poput „name”: „Lena”. Gotovo svaki web API ga koristi za slanje podataka naprijed-nazad, a mnoge aplikacije ga koriste za postavke i sačuvane podatke.

Je li JSON programski jezik?

Ne. JSON je format podataka, a ne jezik. Sam po sebi ne može ništa da uradi — samo opisuje podatke. Iako potiče iz JavaScripta, praktično svaki programski jezik ga može čitati i pisati.

Koja je razlika između JSON-a i JavaScript objekta?

Izgledaju slično, ali je JSON strožiji. U JSON-u svaki ključ mora biti u dvostrukim navodnicima, stringovi koriste dvostruke navodnike, nema komentara, nema zareza na kraju, a vrijednosti su ograničene na stringove, brojeve, true, false, null, objekte i nizove.

Zašto moj JSON kaže da je neispravan?

Uobičajeni uzroci su zarez nakon posljednje stavke, jednostruki navodnici umjesto dvostrukih, nedostajući zarez između stavki, nezatvorena zagrada ili komentar. Zalijepite ga u JSON validator i on će vam pokazati liniju.

Mythex · Pricing · Izradite bilo šta uz AI · Šabloni za web stranice i aplikacije · Mythex u poređenju · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা 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) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)