JSON деген не? Мысалдармен қарапайым нұсқаулық
JSON (JavaScript Object Notation) — құрылымды деректерді жазуға арналған қарапайым мәтіндік пішім: мысалы клиент, тапсырыс немесе тауарлар тізімі — аттар мен мәндер жұбы ретінде. Адамдарға оқуға оңай, бағдарламаларға жасауға және талдауға оңай. Қолданбалар мен қызметтер веб арқылы деректермен алмасқанда, JSON — ең кең таралған пішім.
AI-мен құрастырғанда JSON неге маңызды
Кодты ешқашан жазбасаңыз да, JSON-ды үнемі кездестіресіз:
- API-лер. Қолданбаңыздың экрандары бэкендтен деректерді жүктегенде немесе бэкенд төлем, электрондық пошта немесе AI қызметін шақырғанда, деректер әдетте JSON түрінде жүреді. Қараңыз: API деген не.
- Баптау файлдары. Жобаның көп конфигурация файлдары JSON — мысалы
package.json, ол JavaScript жобасының тәуелділіктерін тізеді. - Дерекқорлар. Postgres JSON-ды баған ішінде сақтай алады (
jsonbтүрі) — тік жолдар мен бағандарға сыймайтын деректер үшін. Қараңыз: Postgres деген не. - AI шығысы. Бағдарлама пайдалана алатын нәрсені модельден алғыңыз келгенде — тегтер тізімін, шоттан алынған өрістерді — әдетте JSON сұраймыз.
- Қате хабарламалары мен журналдар. Көп қате JSON түрінде келеді, ал оны оқу не болғанын табудың ең жылдам жолы болып табылады.
JSON оқи білсеңіз, қолданбаңыз шынында не алғанын тексере аласыз, жетіспейтін өрісті табасыз және мәселені AI құрастырушысына дәл сипаттайсыз.
Күнделікті салыстыру
Қағаз формасын елестетіңіз: Аты: ____, Телефон: ____, Жаңалықтар: ☐ иә ☐ жоқ. Әр жазбаның жанында белгі және сол белгіге тиесілі мән бар. JSON — сол форма мәтін түрінде, компьютер болжамай оқи алатын қатаң тәртіппен жазылған. Формалар сияқты, JSON-да бөлімдер ішіндегі бөлімдер де болады (көше, қала және пошта индексі бар мекенжай блогы) және тізімдер де (бірнеше телефон нөмірі).
JSON қалай көрінеді
Міне, 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"
}
}
Оқу тәсілі:
- Фигуралы жақшалар
{ }объектіні — аттар мен мәндер жұбын — қамтиды. - Әр жұп
"аты": мәнтүрінде, үтірлермен бөлінген. - Тік жақшалар
[ ]массивті — реттелген тізімді — қамтиды. - Объектілер мен массивтер бір-бірінің ішінде орналаса алады, мысалы
contactпенextrasсияқты.
Алты түрлі мән
JSON-да тек алты түрлі мән бар. Осы шағын тізім оның әр жерде жұмыс істеуінің үлкен себебі.
| Түрі | Мысалы | Ескерту |
|---|---|---|
| Мәтін (string) | "Lena Park" | Әрқашан қос тырнақша |
| Сан (number) | 35.5, -2, 1e6 | Тырнақшасыз; валюта белгілерісіз |
| Логикалық (boolean) | true, false | Кіші әріппен, тырнақшасыз |
| Null | null | «Мән жоқ» |
| Объект | { "city": "Leeds" } | Аталған мәндер |
| Массив | [1, 2, 3] | Реттелген тізім; элементтер кез келген түрде болуы мүмкін |
Күн түрі жоқ. Күндер мәтін ретінде жазылады, әдетте жоғарыда көрсетілген ISO 8601 пішімінде (2026-10-03T14:00:00Z, мұндағы Z UTC дегенді білдіреді). Пішім туралы келісу уақыт белдеуіне байланысты қателердің бүкіл санатын болдырмайды.
Қатаң ережелер (қателер осыдан шығады)
JSON көрінгеннен қатаңырақ. Мына жазбалардың бәрі жарамсыз:
{ name: "Lena" } ← қос тырнақшасыз кілт
{ 'name': 'Lena' } ← бір тырнақша
{ "a": 1, "b": 2, } ← соңғы үтір
{ "a": 1 "b": 2 } ← жетіспейтін үтір
{ "a": 1 // түсініктеме } ← түсініктемеге рұқсат жоқ
Сіз көретін «Unexpected token» қателерінің көбі осылардың біреуі болады. JSON тексерушісі немесе форматтаушы дәл жолды көрсетеді.
Нақты мысал: JSON қолданба арқылы қалай жүреді
Клиент сұлулық салонының қолданбасында шаш қиғызуды брондайды. Мұнда JSON мынадай жерлерде шығады:
- Брондау формасы қолданбаның бэкендіне мына нәрсені жібереді:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- Бэкенд брондауды дерекқорға сақтайды және
201 Createdстатусымен, мына жауаппен жауап береді:
{ "id": 5001, "status": "confirmed" }
- Егер уақыт бұрын алынып қойылған болса, ол
409 Conflictстатусымен және мына жауаппен жауап беруі мүмкін:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
Бет status немесе error өрісін оқып, дұрыс хабарламаны көрсетеді. Егер бет орнына бос экран көрсетсе, браузердің әзірлеуші құралдарын (Network қойындысы) ашу осы JSON-ды көрсетеді — бұл не болғанын табудың көбіне ең жылдам жолы.
Негізгі терминдер
| Термин | Мағынасы |
|---|---|
| Кілт (key) | Аттар мен мән жұбындағы ат, мысалы "email". |
| Parse (талдау) | JSON мәтінін бағдарлама пайдалана алатын деректерге айналдыру. |
| Serialize / stringify | Деректерді жіберу немесе сақтау үшін JSON мәтініне айналдыру. |
| Payload | Сұрау немесе жауапта жіберілетін деректер. |
| Схема (schema) | Деректер қандай пішімде болуы керегін сипаттау — қандай өрістер, қандай түрлер. JSON Schema — соны жазудың стандартты тәсілі. |
| JSONB | Postgres-тің екілік JSON баған түрі, оны индекстеуге және сұрауға болады. |
| NDJSON / JSON Lines | Әр жолда бір JSON объектісі, журналдар мен ағындық деректер үшін жиі қолданылады. |
Жиі кездесетін түсініспеушіліктер
- «JSON — JavaScript». Ол синтаксисін JavaScript-тен алған, бірақ тілге тәуелсіз; Python, Java, C#, Go және басқалар да оны оқиды.
- «Тырнақшадағы сандар да жақсы».
"35"— сан емес, мәтін. Оларды араластыру қателер тудырады, мысалы"35" + "5""355"болады. Ақшаны көбіне бүтін центтермен (3550) сақтаған дұрыс, дөңгелектеу мәселесін болдырмау үшін. - «JSON қауіпсіз, өйткені ол тек деректер». JSON кез келген нәрсені, соның ішінде құпияларды да тасуы мүмкін. Браузерге жіберілетін JSON-да API кілттерін қоймаңыз.
- «Барлығын JSON бағанына салыңыз». Икемді қосымша деректер үшін ыңғайлы, бірақ іздейтін, сүзетін немесе біріктіретін деректер әдетте дұрыс бағандарда болуы керек.
- «AI әрқашан жарамды JSON қайтарады». Модельдер қосымша мәтін қосып немесе пішімді бұзуы мүмкін. Көптеген провайдерлерде құрылымдалған шығыс режимі бар; кодыңыз әлі де қайтқанын тексеруі керек.
AI құрастырушысынан не сұрау керек
- «Осы соңғы нүктенің қайтаратын JSON мысалын көрсетіңіз.»
- «Қателерді
errorкоды және адам оқитынmessageбар JSON ретінде қайтарыңыз.» - «Күндерді UTC-дағы ISO 8601 мәтіндері ретінде сақтаңыз және жергілікті уақытқа тек экранда ғана аударыңыз.»
- «Бағаларды бүтін центтер ретінде сақтаңыз.»
- «Кіріс JSON-ды серверде тексеріңіз және жетіспейтін немесе қате түрдегі өрістері бар сұрауларды қабылдамаңыз.»
- «AI моделін шақырғанда JSON-ды осы нақты пішінде сұраңыз және пайдаланар алдында тексеріңіз.»
JSON және Mythex
Mythex-те JSON-ды қолмен жазудың қажеті жоқ — не керегін сипаттайсыз, ал агент оны жіберетін және оқитын кодты жазады. Бірақ оны тани білу пайдалы: бірдеңе бұзылғанда JSON қатесін чатқа қойсаңыз, агентке дәл бағыт береді. REST API бэкенд рецепті басынан-ақ «түсінікті JSON қателерін» сұрайды, ал кез келген API-ді қосу рецепті сыртқы қызметтерді шақыруды қамтиды. Ауқымды көрініс үшін REST және GraphQL мен AI-мен құрылған қолданбаны қалай түзету керек туралы қараңыз.
Сұрақтар
JSON қарапайым сөзбен не?
JSON (JavaScript Object Notation) — құрылымды деректерді «аты»: «Lena» сияқты аттар мен мәндер түрінде жазуға арналған мәтіндік пішім. Дерлік әр веб API деректерді алмасу үшін оны пайдаланады, ал көптеген қолданбалар оны баптаулар мен сақталған деректер үшін қолданады.
JSON — бағдарламалау тілі ме?
Жоқ. JSON — деректер пішімі, тіл емес. Ол өз бетінше ешқандай әрекет жасай алмайды — тек деректерді сипаттайды. JavaScript-тен шыққанымен, іс жүзінде барлық бағдарламалау тілдері оны оқи және жаза алады.
JSON мен JavaScript объектісі арасында қандай айырмашылық бар?
Ұқсас көрінеді, бірақ JSON қатаңырақ. JSON-да әр кілт қос тырнақшада болуы керек, мәтіндер қос тырнақшамен жазылады, түсініктемелер жоқ, соңғы үтір жоқ, ал мәндер тек мәтін, сан, true, false, null, объекттер мен массивтермен шектеледі.
Неліктен JSON жарамсыз деп көрсетеді?
Әдеттегі себептер: соңғы элементтен кейінгі үтір, қос тырнақшаның орнына бір тырнақша, элементтер арасындағы жетіспейтін үтір, жабылмаған жақша немесе түсініктеме. JSON тексеру құралына қойсаңыз, ол жолды көрсетеді.