Водичи

Што е JSON? Водич едноставно објаснет, со примери

JSON (JavaScript Object Notation) е едноставен текстуален формат за запишување структурирани податоци — работи како клиент, нарачка или листа на производи — како парови од имиња и вредности. Лесен е за луѓе да го читаат и лесно се создава и се парсира од програми. Кога апликациите и услугите разменуваат податоци преку веб, JSON е далеку најчестиот формат.

Зошто JSON е важен кога градиш со вештачка интелигенција

Ќе се сретнеш со JSON постојано, дури и ако никогаш не пишуваш код:

  • API-ја. Кога екраните на твојата апликација вчитуваат податоци од нејзиниот backend, или твојот backend повикува услуга за плаќање, е-пошта или вештачка интелигенција, податоците обично патуваат како JSON. Види што е API.
  • Датотеки со поставки. Многу датотеки за конфигурација на проект се JSON — на пример package.json, што ги наведува зависностите на JavaScript проект.
  • Бази на податоци. Postgres може да чува JSON во колона (типот jsonb) за податоци што не се вклопуваат во уредни редови и колони. Види што е Postgres.
  • Излез од вештачка интелигенција. Кога сакаш AI моделот да врати нешто што програмата може да го користи — листа на ознаки, извадени полиња од фактура — обично бараш JSON.
  • Грешки и логови. Многу грешки пристигнуваат како JSON, а нивното читање е често најбрзиот начин да дознаеш што тргнало наопаку.

Да можеш да го читаш JSON значи дека можеш да провериш што навистина ја добила твојата апликација, да забележиш недостасувачко поле и прецизно да ги опишеш проблемите на твојата алатка за изработка со вештачка интелигенција.

Секојдневна аналогија

Замисли папирен формулар: Име: ____, Телефон: ____, Билтен: ☐ да ☐ не. Секој внес е етикета со вредност до неа. 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"
  }
}

Како се чита:

  • Витестите загради { } опкружуваат еден објект — збир од парови име/вредност.
  • Секој пар е "name": вредност, одделени со запирки.
  • Квадратните загради [ ] опкружуваат една низа — подредена листа.
  • Објектите и низите можат да бидат ставени еден во друг, како што се contact и extras.

Шесте видови вредности

JSON има само шест типа вредности. Оваа мала листа е голем дел од причината зошто работи насекаде.

ТипПримерЗабелешки
String (текст)"Lena Park"Секогаш двојни наводници
Број35.5, -2, 1e6Без наводници; без симболи за валута
Booleantrue, falseМали букви, без наводници
Nullnull„Нема вредност“
Објект{ "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:

  1. Формуларот за резервација го испраќа ова до backend-от на апликацијата:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Backend-от ја зачувува резервацијата во базата на податоци и одговара со статус 201 Created и:
{ "id": 5001, "status": "confirmed" }
  1. Ако терминот веќе бил зафатен, може наместо тоа да одговори со статус 409 Conflict и:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }

Страницата ги чита status или error и ја прикажува вистинската порака. Ако страницата наместо тоа покаже празен екран, отворањето на развојните алатки на прелистувачот (картичката Network) би ти го прикажало овој JSON — често најбрзиот траг за тоа што тргнало наопаку.

Клучни термини

ТерминЗначење
КлучИмето во паро име/вредност, како "email".
ParseПретвори JSON текст во податоци што програмата може да ги користи.
Serialize / stringifyПретвори податоци во JSON текст за праќање или чување.
PayloadПодатоците испратени во барање или одговор.
SchemaОпис на обликот што податоците треба да го имаат — кои полиња, кои типови. JSON Schema е стандарден начин да се запише таков опис.
JSONBБинарна JSON колона во Postgres, што може да се индексира и да се пребарува.
NDJSON / JSON LinesЕден JSON објект по линија, вообичаено за логови и стриминг.

Чести погрешни претстави

  • „JSON е JavaScript.“ Потекнува од синтаксата на JavaScript, но не е врзан за јазик; Python, Java, C#, Go и останатите сите го читаат.
  • „Броевите во наводници се во ред.“ "35" е стринг, не број. Мешањето предизвикува грешки, како "35" + "5" да стане "355". Парите често е подобро да се чуваат како цели центи (3550) за да се избегнат проблеми со заокружување.
  • „JSON е безбеден бидејќи е само податоци.“ JSON може да носи што било, вклучително и тајни. Не става API клучеви во JSON што се испраќа до прелистувачот.
  • „Стави сè во JSON колона.“ Практично за флексибилни дополнителни податоци, но податоците по кои пребаруваш, филтрираш или спојуваш обично припаѓаат во вистински колони.
  • „Вештачката интелигенција секогаш враќа валиден JSON.“ Моделите можат да додадат дополнителен текст или да го расипат форматот. Многу даватели нудат режим на структуриран излез; твојот код и понатаму треба да проверува што се враќа.

Што да побараш од твојата алатка со вештачка интелигенција

  • „Покажи ми пример на JSON што го враќа овој endpoint.“
  • „Врати грешки како JSON со код error и читлива порака message.“
  • „Чувај датуми како ISO 8601 стрингови во UTC и претворај во локално време само на екранот.“
  • „Чувај цени како цели центи.“
  • „Валидирај го дојдовниот JSON на серверот и одбивај барања со недостасувачки или погрешно типизирани полиња.“
  • „Кога го повикуваш AI моделот, побарај JSON во точно овој облик и провери го пред да го користиш.“

JSON во Mythex

Во Mythex не треба рачно да пишуваш JSON — го опишуваш она што го сакаш, а агентот го пишува кодот што го испраќа и го чита. Сепак корисно е да го препознаваш: кога нешто ќе се расипе, залепувањето на JSON грешката во разговорот му дава на агентот прецизен траг. Рецептот REST API backend во документацијата бара „јасни JSON грешки“ од самиот почеток, а рецептот интеграција на кој било API ги опфаќа повикувањата кон надворешни услуги. За поширока слика, види REST vs GraphQL и како да дебагираш апликација изградена со вештачка интелигенција.

Прашања

Што е JSON едноставно речено?

JSON (JavaScript Object Notation) е обичен текстуален формат за запишување структурирани податоци како имиња и вредности, како „name“: „Lena“. Речиси секој веб API го користи за праќање податоци напред-назад, а многу апликации го користат за поставки и зачувани податоци.

Дали JSON е програмски јазик?

Не. JSON е формат за податоци, а не јазик. Сам по себе не може ништо да направи — само опишува податоци. Иако потекнува од JavaScript, практично секој програмски јазик може да го чита и запишува.

Која е разликата помеѓу JSON и JavaScript објект?

Изгледаат слично, но JSON е построг. Во JSON секој клуч мора да биде во двојни наводници, низите се пишуваат со двојни наводници, нема коментари, нема запирки на крајот и вредностите се ограничени на стрингови, броеви, true, false, null, објекти и низи.

Зошто мојот JSON вели дека е невалиден?

Вообичаените причини се запирка по последната ставка, еднострани наводници наместо двојни, недостасувачка запирка помеѓу ставките, незатворена заграда или коментар. Залепи го во JSON валидатор и тој ќе ти покаже на која линија е проблемот.

Mythex · Pricing · Градете што било со AI · Шаблони за веб-страници и апликации · Mythex во споредба · Речник за градење апликации со AI · Бесплатни алатки за градење апликации со AI · English

English አማርኛ العربية Български বাংলা Bosanski 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 简体中文 繁體中文(香港) 繁體中文(台灣)