Juhendid

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 contact ja extras teevad.

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üüpNäideMärkused
String (tekst)"Lena Park"Alati topelt-jutumärgid
Number (arv)35.5, -2, 1e6Ilma jutumärkideta; ilma valuutasümboliteta
Boolean (tõeväärtus)true, falseVäiketähed, ilma jutumärkideta
Nullnull„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:

  1. Broneerimisvorm saadab rakenduse tagaosale selle:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Tagaosa salvestab broneeringu andmebaasi ja vastab staatusega 201 Created ning:
{ "id": 5001, "status": "confirmed" }
  1. Kui aeg oli juba võetud, võib see hoopis vastata staatusega 409 Conflict ning:
{ "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õisteTähendus
Võti (key)Nimi nimi/väärtuse paaris, näiteks "email".
ParsimineJSON-teksti muutmine andmeteks, mida programm kasutada saab.
Serialiseerimine / stringifyAndmete muutmine JSON-tekstiks saatmiseks või salvestamiseks.
PayloadPä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.
JSONBPostgresi 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 inimloetav message.“
  • „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.

Mythex · Pricing · Ehita kõike AI-ga · Veebilehtede ja rakenduste mallid · Mythex võrdluses · Tehisintellektiga rakenduste ehitamise sõnastik · Tasuta tööriistad tehisintellektiga rakenduste ehitamiseks · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) فارسی 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 简体中文 繁體中文(香港) 繁體中文(台灣)