Mis on JSON? Lihtne juhend näidetega
JSON (JavaScript Object Notation) on lihtne tekstivorming struktureeritud andmete kirjapanekuks — asjad nagu klient, tellimus või tootenimekiri — nimede ja nendega seotud väärtuste paaridena. Inimestel on seda lihtne lugeda ning programmidel lihtne luua ja parsida. Kui rakendused ja teenused vahetavad veebis andmeid, on JSON ületamatult levinum vorming.
Miks JSON AI-ga ehitamisel oluline on
Kohtad JSON-iga pidevalt, isegi kui sa koodi ise kunagi ei kirjuta:
- API-d. Kui sinu rakenduse ekraanid laadivad andmeid tagaosast või tagaosa kutsub makse-, e-posti- või AI-teenust, liiguvad andmed tavaliselt JSON-ina. Vt mis on API.
- Seadefailid. Paljud projektikonfiguratsiooni failid on JSON-id — näiteks
package.json, mis loetleb JavaScripti projekti sõltuvused. - Andmebaasid. Postgres võib salvestada JSON-i veergu (tüüp
jsonb) andmete jaoks, mis ei sobi korrapäraste ridade ja veergudena. Vt mis on Postgres. - AI väljund. Kui tahad, et AI mudel tagastaks midagi, mida programm kasutada saab — sildide nimekirja või arvelt välja loetud väljad — paluksid tavaliselt JSON-it.
- Veateated ja logid. Paljud vead tulevad JSON-ina ning nende lugemine on sageli kiireim viis teada saada, mis läks valesti.
JSON-i lugemise oskus lubab kontrollida, mida su rakendus tegelikult sai, märgata puuduvat välja ning kirjeldada probleeme oma AI ehitajale täpselt.
Igapäevane analoogia
Mõtle pabervormile: Nimi: ____, Telefon: ____, Uudiskiri: ☐ jah ☐ ei. Iga kirje on silt koos väärtusega sellele kõrval. JSON on see vorm kirjutatud tekstina, rangel kujul, mida arvuti saab lugeda arvamata. Ja nagu vormidel, võib ka JSON-is olla jaotisi jaotiste sees (aadressiplokk tänava, linna ja postiindeksiga) ning loendeid (mitu telefoninumbrit).
Kuidas JSON välja näeb
Siin on üks broneering JSON-ina:
{
"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"
}
}
Lugemine:
- Looksulud
{ }ümbritsevad objekti — nimede ja väärtuste paari. - Iga paar on
"nimi": väärtus, eraldatud komadega. - Nurksulud
[ ]ümbritsevad massiivi — järjestatud loendit. - Objektid ja massiivid võivad asuda teineteise sees, nagu
contactjaextrasteevad.
Kuus väärtuse tüüpi
JSON-il on ainult kuus väärtuse tüüpi. See väike loend on suuresti põhjus, miks see kõikjal töötab.
| Tüüp | Näide | Märkused |
|---|---|---|
| String (tekst) | "Lena Park" | Alati topelt-jutumärgid |
| Number (arv) | 35.5, -2, 1e6 | Ilma jutumärkideta; ilma valuutasümboliteta |
| Boolean (tõeväärtus) | true, false | Väiketähed, ilma jutumärkideta |
| Null | null | „Väärtust pole“ |
| Object (objekt) | { "city": "Leeds" } | Nimega väärtused |
| Array (massiiv) | [1, 2, 3] | Järjestatud loend; elemendid võivad olla mis tahes tüüpi |
Kuupäevatüüpi ei ole. Kuupäevad kirjutatakse stringidena, tavaliselt ülal näidatud ISO 8601 vormingus (2026-10-03T14:00:00Z, kus Z tähendab UTC-d). Selle vormingu kokkuleppimine väldib terve kategooria ajavööndi vigu.
Rangad reeglid (kust vead tulevad)
JSON on vähem andestav, kui paistab. Need kõik on vigased:
{ name: "Lena" } ← key without double quotes
{ 'name': 'Lena' } ← single quotes
{ "a": 1, "b": 2, } ← trailing comma
{ "a": 1 "b": 2 } ← missing comma
{ "a": 1 // comment } ← comments aren't allowed
Enamik „Unexpected token“ vigu, mida näed, on üks neist. JSON-i valideerija või vormindaja näitab täpse rea.
Töötav näide: JSON läbi rakenduse
Klient broneerib juuksuri ajavõtu ilusalongi rakenduses. Siin on koht, kus JSON ilmub:
- Broneerimisvorm saadab rakenduse tagaosale selle:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- Tagaosa salvestab broneeringu andmebaasi ja vastab staatusega
201 Createdning:
{ "id": 5001, "status": "confirmed" }
- Kui aeg oli juba võetud, võib see hoopis vastata staatusega
409 Conflictning:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
Leht loeb välja status või error ja näitab õiget teadet. Kui leht näitaks selle asemel tühja ekraani, näitaks brauseri arendajatööriistade (Network-vahekaart) avamine seda JSON-it — sageli kiireim vihje, mis valesti läks.
Põhimõisted
| Mõiste | Tähendus |
|---|---|
| Võti (key) | Nimi nimi/väärtuse paaris, näiteks "email". |
| Parsimine | JSON-teksti muutmine andmeteks, mida programm kasutada saab. |
| Serialiseerimine / stringify | Andmete muutmine JSON-tekstiks saatmiseks või salvestamiseks. |
| Payload | Päringus või vastuses saadetud andmed. |
| Skeem (schema) | Kirjeldus, millist kuju andmed peaksid omama — milliseid välju, milliseid tüüpe. JSON Schema on standardne viis selle kirjutamiseks. |
| JSONB | Postgresi binaarne JSON-veerutüüp, mida saab indekseerida ja päringuid teha. |
| NDJSON / JSON Lines | Üks JSON-objekt rea kohta, levinud logide ja voogedastuse puhul. |
Levinud väärarusaamad
- „JSON on JavaScript.“ See pärineb JavaScripti süntaksist, aga see ei sõltu keelest; Python, Java, C#, Go ja ülejäänud loevad seda kõik.
- „Arvud jutumärkides on kõik korras.“
"35"on string, mitte arv. Segamine tekitab vigu nagu"35" + "5"muutumine"355"-ks. Raha salvestatakse sageli parem täisarvuliste sentidena (3550), et vältida ümardamisprobleeme. - „JSON on turvaline, sest see on lihtsalt andmed.“ JSON võib kanda mis tahes sisu, sealhulgas saladusi. Ära pane API võtmeid JSON-i, mis saadetakse brauserisse.
- „Pane kõik JSON-veergu.“ Paindlike lisade jaoks mugav, aga andmed, mida otsid, filtreerid või ühendad, kuuluvad tavaliselt korralikesse veergudesse.
- „AI tagastab alati korrektse JSON-i.“ Mudelid võivad lisada lisateksti või vormingu rikkuda. Paljud pakkujad pakuvad struktureeritud väljundi režiimi; su kood peaks ikka tagastatu kontrollima.
Mida AI ehitajalt paluda
- „Näita mulle näidet JSON-ist, mida see lõpp-punkt tagastab.“
- „Tagasta vead JSON-ina, millel on
error-kood ja inimloetavmessage.“ - „Salvesta kuupäevad ISO 8601 stringidena UTC-s ja teisenda kohalikku aega ainult ekraanil.“
- „Salvesta hinnad täisarvuliste sentidena.“
- „Valideeri sissetulev JSON serveris ja lükka tagasi päringud, millel on puuduvad või valet tüüpi väljad.“
- „Kui kutsud AI mudelit, palu JSON-i täpselt sellises kujus ja kontrolli seda enne kasutamist.“
JSON Mythexis
Mythexis ei pea JSON-it käsitsi kirjutama — kirjeldad, mida tahad, ja agent kirjutab koodi, mis seda saadab ja loeb. Sellest aru saamine aitab siiski: kui midagi katkeb, annab JSON-i veateate kleepimine vestlusesse agendile täpse vihje. Dokumentatsiooni REST API tagaosa retsept küsib algusest peale „selgeid JSON-vigu“ ning retsept integreeri mis tahes API käsitleb väliste teenuste kutsumist. Laiema pildi jaoks vt REST vs GraphQL ja kuidas AI-ga ehitatud rakendust siluda.
Küsimused
Mis on JSON lihtsas keeles?
JSON (JavaScript Object Notation) on lihttekstiline vorming struktureeritud andmete kirjapanekuks nimede ja väärtustena, näiteks „name“: „Lena“. Peaaegu iga veebi-API kasutab andmete edasi-tagasi saatmiseks JSON-it ning paljud rakendused kasutavad seda seadete ja salvestatud andmete jaoks.
Kas JSON on programmeerimiskeel?
Ei. JSON on andmevorming, mitte keel. Iseseisvalt ei tee see midagi — see ainult kirjeldab andmeid. Kuigi see pärineb JavaScriptist, suudab seda lugeda ja kirjutada praktiliselt iga programmeerimiskeel.
Mis vahe on JSON-il ja JavaScripti objektil?
Need näevad sarnased välja, aga JSON on rangem. JSON-is peab iga võti olema topelt-jutumärkides, stringid kasutavad topelt-jutumärke, kommentaare ei ole, koma lõpus ei tohi olla ning väärtused piirduvad stringide, arvude, true, false, null, objektide ja massiividega.
Miks mu JSON ütleb, et see on vale?
Tavalised põhjused on koma pärast viimast elementi, ühekordsed jutumärgid topelt-jutumärkide asemel, puuduv koma elementide vahel, sulgemata sulg või kommentaar. Kleebi see JSON-i valideerijasse ja see näitab täpse rea.