Kaj je JSON? Preprost vodnik s primeri
JSON (JavaScript Object Notation) je preprosta besedilna oblika za zapis strukturiranih podatkov — na primer stranke, naročila ali seznama izdelkov — kot parov imen in vrednosti. Ljudje ga lahko preberejo, programi pa ga enostavno ustvarijo in razčlenijo. Kadar aplikacije in storitve izmenjujejo podatke prek spleta, je JSON daleč najpogostejša oblika.
Zakaj je JSON pomemben pri gradnji z AI
S JSON-om se boste srečevali nenehno, tudi če nikoli ne pišete kode:
- API-ji. Kadar zasloni vaše aplikacije nalagajo podatke iz zaledja ali zaledje kliče storitev za plačila, e-pošto ali AI, podatki običajno potujejo kot JSON. Glejte kaj je API.
- Datoteke z nastavitvami. Veliko konfiguracijskih datotek projekta je v JSON-u — na primer
package.json, ki v JavaScript projektu navaja odvisnosti. - Baze podatkov. Postgres lahko JSON shrani v stolpec (tip
jsonb) za podatke, ki se ne prilegajo lepo v vrstice in stolpce. Glejte kaj je Postgres. - Izhod AI. Kadar želite, da model AI vrne nekaj, kar lahko program uporabi — seznam oznak, izluščena polja z računa —, običajno zahtevate JSON.
- Napake in dnevniki. Veliko napak pride v obliki JSON-a, njihovo branje pa je pogosto najhitrejši način, da ugotovite, kaj je šlo narobe.
Če znate brati JSON, lahko preverite, kaj je aplikacija dejansko prejela, opazite manjkajoče polje in svojemu graditelju z AI natančno opišete težavo.
Vsakdanja primerjava
Pomislite na papirnati obrazec: Ime: ____, Telefon: ____, Novice: ☐ da ☐ ne. Vsak vnos je oznaka z vrednostjo ob sebi. JSON je ta obrazec zapisan kot besedilo v strogi postavitvi, ki jo računalnik lahko prebere brez ugibanja. Tako kot obrazci lahko tudi JSON vsebuje odseke znotraj odsekov (blok naslova z ulico, mestom in poštno številko) in sezname (več telefonskih številk).
Kako izgleda JSON
Tukaj je ena rezervacija v JSON-u:
{
"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"
}
}
Branje:
- Zavite zavite oklepaje
{ }objekt — nabor parov ime/vrednost. - Vsak par je
"ime": vrednost, ločen z vejicami. - Oglati oklepaji
[ ]ovijajo seznam — urejen niz elementov. - Objekti in seznami so lahko gnezdeni, kot sta
contactinextras.
Šest vrst vrednosti
JSON pozna le šest vrst vrednosti. Ta kratek seznam je velik del razloga, da deluje povsod.
| Vrsta | Primer | Opombe |
|---|---|---|
| Niz (besedilo) | "Lena Park" | Vedno dvojni narekovaji |
| Število | 35.5, -2, 1e6 | Brez narekovajev; brez simbolov valut |
| Logična vrednost | true, false | Mala črka, brez narekovajev |
| Null | null | »Ni vrednosti« |
| Objekt | { "mesto": "Ljubljana" } | Poimenovane vrednosti |
| Seznam | [1, 2, 3] | Urejen seznam; elementi so lahko katerekoli vrste |
Datumov tip ne obstaja. Datumi se zapisujejo kot nizi, ponavadi v formatu ISO 8601, prikazanem zgoraj (2026-10-03T14:00:00Z, kjer Z pomeni UTC). Dogovor o tem formatu prepreči celo vrsto napak s časovnimi pasovi.
Stroga pravila (tu nastajajo napake)
JSON je manj prizanesljiv, kot se zdi. Vsi ti zapisi so neveljavni:
{ name: "Lena" } ← ključ brez dvojnih narekovajev
{ 'name': 'Lena' } ← enojni narekovaji
{ "a": 1, "b": 2, } ← vejica za zadnjim elementom
{ "a": 1 "b": 2 } ← manjkajoča vejica
{ "a": 1 // komentar } ← komentarji niso dovoljeni
Večina sporočil »Unexpected token« je ena od teh napak. Preverjevalnik ali oblikovalnik JSON-a vam pokaže točno vrstico.
Praktičen primer: JSON skozi aplikacijo
Stranka v aplikaciji za salon rezervira striženje. Tukaj se JSON pojavi:
- Obrazec za rezervacijo pošlje zaledju aplikacije:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- Zaledje rezervacijo shrani v bazo podatkov in odgovori s statusom
201 Createdter:
{ "id": 5001, "status": "confirmed" }
- Če je termin že zaseden, lahko namesto tega odgovori s statusom
409 Conflictin:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
Stran prebere status ali error in prikaže pravo sporočilo. Če bi namesto tega prikazala prazen zaslon, bi vam odpiranje razvijalskih orodij brskalnika (zavihek Network) pokazalo ta JSON — pogosto najhitrejši namig, kaj je šlo narobe.
Ključni pojmi
| Pojem | Pomen |
|---|---|
| Ključ | Ime v paru ime/vrednost, na primer "email". |
| Razčlenjevanje (parse) | Pretvorba besedila JSON v podatke, s katerimi lahko program dela. |
| Serializacija (stringify) | Pretvorba podatkov v besedilo JSON za pošiljanje ali shranjevanje. |
| Tovor (payload) | Podatki, poslani v zahtevku ali odgovoru. |
| Shema | Opis oblike podatkov — katera polja in katere vrste. JSON Schema je standardni način za njen zapis. |
| JSONB | Binarni stolpec JSON v Postgresu, ki ga je mogoče indeksirati in poizvedovati. |
| NDJSON / JSON Lines | En objekt JSON na vrstico, pogosto za dnevnike in pretakanje. |
Pogoste zmote
- »JSON je JavaScript.« Sintaksa izhaja iz JavaScripta, vendar ni vezan na en jezik; Python, Java, C#, Go in drugi ga vsi berejo.
- »Števila v narekovajih so v redu.«
"35"je niz, ne število. Mešanje povzroča napake, na primer da"35" + "5"postane"355". Denar je pogosto bolje shraniti kot cele cente (3550), da se izognete zaokroževalnim napakam. - »JSON je varen, ker so le podatki.« JSON lahko nosi vse, tudi skrivnosti. Ne dajajte API ključev v JSON, ki se pošilja v brskalnik.
- »Vse dajte v stolpec JSON.« Priročno za prilagodljive dodatke, toda podatke, ki jih iščete, filtrirate ali povezujete, ponavadi sodi v običajne stolpce.
- »AI vedno vrne veljaven JSON.« Modeli lahko dodajo dodatno besedilo ali pokvarijo obliko. Mnogi ponudniki ponujajo način strukturiranega izhoda; vaša koda mora kljub temu preveriti, kaj je prišlo nazaj.
Kaj zahtevati od svojega graditelja z AI
- »Pokaži mi primer JSON-a, ki ga vrne ta končna točka.«
- »Napake vračaj kot JSON s kodo
errorin človeku berljivim sporočilommessage.« - »Datume shranjuj kot nize ISO 8601 v UTC in pretvarjaj v lokalni čas šele na zaslonu.«
- »Cene shranjuj kot cela števila v centih.«
- »Na strežniku preveri dohodni JSON in zavrni zahteve z manjkajočimi ali napačno tipiziranimi polji.«
- »Ko kličeš model AI, zahtevaj JSON v tej natančni obliki in ga preveri, preden ga uporabiš.«
JSON v Mythexu
JSON v Mythexu ni treba pisati ročno — opišete, kaj želite, agent pa napiše kodo, ki ga pošilja in bere. Vseeno je koristno, da ga prepoznate: ko se kaj pokvari, prilepitev napake JSON v klepet agentu da natančen namig. Priročnik REST API zaledje v dokumentaciji od začetka zahteva »jasne napake JSON«, recept integracija poljubnega API-ja pa pokriva klice zunanjih storitev. Za širšo sliko glejte REST proti GraphQL in kako odpraviti napake v aplikaciji, zgrajeni z AI.
Vprašanja
Kaj je JSON na preprost način?
JSON (JavaScript Object Notation) je besedilna oblika za zapis strukturiranih podatkov kot imen in vrednosti, na primer "ime": "Lena". Skoraj vsi spletni API-ji ga uporabljajo za izmenjavo podatkov med programi, mnoge aplikacije pa ga uporabljajo za nastavitve in shranjene podatke.
Ali je JSON programski jezik?
Ne. JSON je oblika podatkov, ne jezik. Sam po sebi ne zmore ničesar — samo opisuje podatke. Čeprav izhaja iz JavaScripta, lahko skoraj vsak programski jezik bere in zapisuje JSON.
Kakšna je razlika med JSON-om in JavaScript objektom?
Videti sta podobna, vendar je JSON strožji. V JSON-u morajo biti vsi ključi v dvojnih narekovajih, nizi uporabljajo dvojne narekovaje, komentarjev ni, vejic za zadnjim elementom ni, vrednosti pa so omejene na nize, števila, true, false, null, objekte in sezname.
Zakaj moj JSON pravi, da je neveljaven?
Pogosti vzroki so vejica za zadnjim elementom, enojni narekovaji namesto dvojnih, manjkajoča vejica med elementi, nezaprt oklepaj ali komentar. Prilepite ga v preverjevalnik JSON-a, ki bo pokazal vrstico z napako.