Ръководства

Какво е JSON? Ръководство с примери на прост език

JSON (JavaScript Object Notation) е прост текстов формат за записване на структурирани данни – неща като клиент, поръчка или списък с продукти – като двойки имена и стойности. Лесен е за четене от хора и лесен за създаване и обработка от програми. Когато приложения и услуги обменят данни през уеба, JSON е далеч най-често срещаният формат.

Защо JSON е важен, когато създаваш с AI

Ще се сблъскаш с JSON постоянно, дори и никога да не пишеш код:

  • API. Когато екраните на приложението ти зареждат данни от бекенда му или бекендът извиква услуга за плащания, имейли или AI, данните обикновено пътуват като JSON. Виж какво е API.
  • Файлове с настройки. Много конфигурационни файлове на проекти са JSON – например package.json, който изброява зависимостите на JavaScript проект.
  • Бази данни. Postgres може да съхранява JSON в колона (типът jsonb) за данни, които не се вписват в подредени редове и колони. Виж какво е Postgres.
  • Резултат от AI. Когато искаш 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 има само шест типа стойности. Този кратък списък е голяма част от причината, поради която работи навсякъде.

ТипПримерБележки
Низ (текст)"Lena Park"Винаги двойни кавички
Число35.5, -2, 1e6Без кавички; без валутни символи
Булева стойностtrue, 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 // comment }       ← коментарите не са позволени

Повечето грешки „Unexpected token“, които ще видиш, са от един от тези видове. Валидаторът или форматиращият инструмент за JSON ще ти покаже точния ред.

Примерен случай: JSON през приложение

Клиент резервира подстригване в приложение за салон. Ето къде се появява JSON:

  1. Формулярът за резервация изпраща това към бекенда на приложението:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Бекендът записва резервацията в базата данни и отговаря със статус 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 – често това е най-бързата следа към това, което се е объркало.

Ключови термини

ТерминЗначение
Ключ (key)Името в двойка име/стойност, например "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 колона.“ Удобно е за гъвкави допълнения, но данните, по които търсиш, филтрираш или свързваш, обикновено трябва да са в нормални колони.
  • „AI винаги връща валиден JSON.“ Моделите могат да добавят допълнителен текст или да счупят формата. Много доставчици предлагат режим със структуриран изход; кодът ти все пак трябва да провери какво идва обратно.

Какво да поискаш от AI инструмента

  • „Покажи ми пример за JSON, който връща този endpoint.“
  • „Връщай грешките като JSON с код error и четимо за хората съобщение message.“
  • „Съхранявай датите като низове ISO 8601 в UTC и превръщай в местно време само при показване на екрана.“
  • „Съхранявай цените като цели числа в стотинки.“
  • „Валидирай входящия JSON на сървъра и отхвърляй заявки с липсващи или грешни по тип полета.“
  • „Когато извикваш AI модела, поискай JSON в точно този формат и го провери, преди да го използваш.“

JSON в Mythex

Не е нужно да пишеш JSON ръчно в Mythex – описваш какво искаш, а агентът пише кода, който го изпраща и чете. Все пак помага да го разпознаваш: когато нещо се счупи, поставянето на JSON грешката в чата дава на агента точна следа. Рецептата REST API бекенд в документацията изисква „ясни JSON грешки“ от самото начало, а рецептата интеграция с всяко API описва извикване на външни услуги. За по-голямата картина виж REST срещу GraphQL и как да поправиш приложение, създадено с AI.

Въпроси

Какво е JSON, с прости думи?

JSON (JavaScript Object Notation) е текстов формат за записване на структурирани данни като имена и стойности, например "name": "Lena". Почти всяко уеб API го използва, за да изпраща данни напред-назад, а много приложения го ползват за настройки и съхранени данни.

JSON език за програмиране ли е?

Не. JSON е формат за данни, а не език. Сам по себе си не може да прави нищо – само описва данни. Макар да произлиза от JavaScript, почти всеки език за програмиране може да го чете и записва.

Каква е разликата между JSON и JavaScript обект?

Приличат си, но JSON е по-строг. В JSON всеки ключ трябва да е в двойни кавички, низовете също са в двойни кавички, няма коментари, няма запетая след последния елемент, а стойностите са ограничени до низове, числа, true, false, null, обекти и масиви.

Защо моят JSON е обявен за невалиден?

Обичайните причини са запетая след последния елемент, единични кавички вместо двойни, липсваща запетая между елементите, незатворена скоба или коментар. Постави го във валидатор за JSON и той ще посочи реда.

Mythex · Pricing · Създай всичко с ИИ · Шаблони за уебсайтове и приложения · Mythex в сравнение · Речник на създаването на приложения с ИИ · Безплатни инструменти за създаване на приложения с ИИ · 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 简体中文 繁體中文(香港) 繁體中文(台灣)