Co je JSON? Srozumitelný průvodce s příklady
JSON (JavaScript Object Notation) je jednoduchý textový formát pro zápis strukturovaných dat, jako jsou zákazník, objednávka nebo seznam produktů, ve formě dvojic názvů a hodnot. Lidé ho snadno čtou a programy ho snadno vytvářejí a zpracovávají. Když si aplikace a služby vyměňují data přes web, JSON je zdaleka nejčastější formát.
Proč je JSON důležitý při tvorbě s AI
S JSONem se setkáte neustále, i když nikdy nepíšete kód:
- API. Když obrazovky vaší aplikace načítají data ze serveru nebo když váš server volá platební, e-mailovou nebo AI službu, data obvykle putují jako JSON. Viz co je API.
- Konfigurační soubory. Mnoho konfiguračních souborů projektu je v JSONu, například
package.json, který vypisuje závislosti JavaScriptového projektu. - Databáze. Postgres umí ukládat JSON do sloupce (typ
jsonb) pro data, která se nevejdou do pravidelných řádků a sloupců. Viz co je Postgres. - Výstup AI. Když chcete, aby model AI vrátil něco, co program dokáže použít, například seznam štítků nebo údaje z faktury, obvykle požádáte o JSON.
- Chybové hlášky a logy. Mnoho chyb přichází jako JSON a jejich čtení je často nejrychlejší způsob, jak zjistit, co se pokazilo.
Umět číst JSON vám umožní zkontrolovat, co vaše aplikace skutečně obdržela, všimnout si chybějícího pole a přesně popsat problém svému AI nástroji.
Každodenní příměr
Představte si papírový formulář: Jméno: ____, Telefon: ____, Newsletter: ☐ ano ☐ ne. Každý údaj je popisek s hodnotou vedle něj. JSON je takový formulář zapsaný jako text ve přísném rozložení, které počítač přečte bez hádání. A stejně jako formuláře může obsahovat sekce uvnitř sekcí (adresní blok s ulicí, městem a PSČ) a seznamy (více telefonních čísel).
Jak JSON vypadá
Zde je jedna rezervace zapsaná v JSONu:
{
"id": 5001,
"customer": "Lena Park",
"service": "Střih",
"startsAt": "2026-10-03T14:00:00Z",
"price": 35.5,
"paid": false,
"notes": null,
"extras": ["zastřižení vousů", "horký ručník"],
"contact": {
"email": "lena@example.com",
"phone": "+420 777 000 000"
}
}
Čtení:
- Složené závorky
{ }obalují objekt, tedy sadu dvojic názvů a hodnot. - Každá dvojice má tvar
"název": hodnotaa jsou odděleny čárkami. - Hranaté závorky
[ ]obalují pole, tedy uspořádaný seznam. - Objekty a pole mohou být jeden v druhém, jako
contactaextras.
Šest druhů hodnot
JSON má jen šest typů hodnot. Tento krátký seznam je velkou částí toho, proč funguje všude.
| Typ | Příklad | Poznámky |
|---|---|---|
| Řetězec (text) | "Lena Park" | Vždy dvojité uvozovky |
| Číslo | 35.5, -2, 1e6 | Bez uvozovek; bez měnových symbolů |
| Logická hodnota | true, false | Malými písmeny, bez uvozovek |
| Null | null | „Žádná hodnota“ |
| Objekt | { "city": "Brno" } | Pojmenované hodnoty |
| Pole | [1, 2, 3] | Uspořádaný seznam; položky mohou být libovolného typu |
JSON nemá typ datum. Data se zapisují jako řetězce, obvykle ve formátu ISO 8601 zobrazeném výše (2026-10-03T14:00:00Z, kde Z znamená UTC). Dohoda na tomto formátu předejde celé kategorii chyb se časovými pásmy.
Přísná pravidla (odkud se chyby berou)
JSON je méně shovívavý, než vypadá. Tyto zápisy jsou všechny neplatné:
{ name: "Lena" } ← klíč bez dvojitých uvozovek
{ 'name': 'Lena' } ← jednoduché uvozovky
{ "a": 1, "b": 2, } ← koncová čárka
{ "a": 1 "b": 2 } ← chybějící čárka
{ "a": 1 // komentář } ← komentáře nejsou povoleny
Většina chyb typu „Unexpected token“ je jedna z těchto. Validátor nebo formátovač JSONu vám ukáže přesný řádek.
Praktický příklad: JSON v aplikaci
Zákazník si v aplikaci salonu objedná střih. Zde se JSON objevuje:
- Formulář rezervace odešle backendu aplikace tento záznam:
{ "service": "Střih", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- Backend uloží rezervaci do databáze a odpoví stavem
201 Createda tímto obsahem:
{ "id": 5001, "status": "confirmed" }
- Pokud je čas už obsazený, může místo toho odpovědět stavem
409 Conflicta tímto obsahem:
{ "error": "slot_taken", "message": "Tento termín byl právě obsazen. Vyberte prosím jiný." }
Stránka přečte status nebo error a zobrazí správnou zprávu. Pokud by místo toho zobrazila prázdnou obrazovku, otevření vývojářských nástrojů prohlížeče (karta Network) by vám tento JSON ukázalo. Často je to nejrychlejší vodítko, co se pokazilo.
Klíčové pojmy
| Pojem | Význam |
|---|---|
| Klíč | Název v dvojici názvu a hodnoty, například "email". |
| Parsování | Převod textu JSONu na data, se kterými program umí pracovat. |
| Serializace / stringify | Převod dat na text JSONu pro odeslání nebo uložení. |
| Payload | Data odeslaná v požadavku nebo odpovědi. |
| Schéma | Popis tvaru, jaký mají data mít: která pole a jakých typů. JSON Schema je standardní způsob, jak ho zapsat. |
| JSONB | Binární sloupcový typ JSONu v Postgresu, který lze indexovat a dotazovat. |
| NDJSON / JSON Lines | Jeden JSON objekt na řádek, častý u logů a streamování. |
Časté omyly
- „JSON je JavaScript.“ Vznikl ze syntaxe JavaScriptu, ale není na jazyce závislý. Python, Java, C#, Go i další jej čtou.
- „Čísla v uvozovkách jsou v pořádku.“
"35"je řetězec, ne číslo. Smíchání vede k chybám, jako když se"35" + "5"stane"355". Peníze se často ukládají jako celé haléře (3550), aby se předešlo problémům se zaokrouhlováním. - „JSON je bezpečný, protože jsou to jen data.“ JSON může obsahovat cokoli, včetně tajných údajů. Nedávejte API klíče do JSONu, který se posílá do prohlížeče.
- „Všechno dej do sloupce JSON.“ Je to praktické pro pružné doplňky, ale data, podle kterých hledáte, filtrujete nebo spojujete, obvykle patří do běžných sloupců.
- „AI vždy vrátí platný JSON.“ Modely mohou přidat dodatečný text nebo formát rozbít. Mnoho poskytovatelů nabízí režim strukturovaného výstupu, váš kód však stejně musí vrácená data zkontrolovat.
Co požádat svůj AI nástroj
- „Ukaž mi příklad JSONu, který tento endpoint vrací.“
- „Chyby vracej jako JSON s kódem
errora čitelnou zprávoumessage.“ - „Ukládej data jako ISO 8601 řetězce v UTC a převáděj je na místní čas až při zobrazení.“
- „Ukládej ceny jako celá čísla v haléřích.“
- „Validuj příchozí JSON na serveru a odmítej požadavky s chybějícími nebo špatně typovanými poli.“
- „Když voláš AI model, požádej o JSON v tomto přesném tvaru a před použitím ho zkontroluj.“
JSON v Mythexu
V Mythexu nemusíte JSON psát ručně. Popíšete, co chcete, a agent napíše kód, který jej posílá a čte. Je ale užitečné ho poznat: když se něco rozbije, vložení chyby z JSONu do chatu dá agentovi přesné vodítko. Recept na REST API backend v dokumentaci žádá srozumitelné chyby v JSONu od začátku a recept integrace libovolného API popisuje volání externích služeb. Pro širší souvislosti viz REST vs GraphQL a jak ladit aplikaci vytvořenou s AI.
Otázky
Co je JSON jednoduše řečeno?
JSON (JavaScript Object Notation) je textový formát pro zápis strukturovaných dat jako dvojic názvů a hodnot, například „name“: „Lena“. Téměř každé webové API jej používá k posílání dat tam a zpět a mnoho aplikací ho využívá pro nastavení a ukládání dat.
Je JSON programovací jazyk?
Ne. JSON je datový formát, ne jazyk. Sám o sobě nic neudělá, jen popisuje data. Ačkoli vznikl z JavaScriptu, prakticky každý programovací jazyk jej umí číst i zapisovat.
Jaký je rozdíl mezi JSONem a JavaScriptovým objektem?
Vypadají podobně, ale JSON je přísnější. V JSONu musí být každý klíč v dvojitých uvozovkách, řetězce používají dvojité uvozovky, komentáře nejsou povoleny, koncové čárky nejsou povoleny a hodnoty jsou omezeny na řetězce, čísla, true, false, null, objekty a pole.
Proč mi JSON hlásí, že je neplatný?
Obvyklé příčiny jsou koncová čárka za poslední položkou, jednoduché uvozovky místo dvojitých, chybějící čárka mezi položkami, neuzavřená závorka nebo komentář. Vložte ho do validátoru JSONu a ten ukáže přesný řádek.