it:sw:json
Obsah
Formát JSON (JavaScript Object Notation)
JSON se stal de facto standardem pro přenos dat v moderním webu, kde nahradil dříve populární XML. Jeho hlavní výhodou je minimální režie (malá velikost souboru) a intuitivní struktura.
1. Základní syntaxe
JSON je postaven na dvou základních strukturách:
- Objekt: Kolekce dvojic název/hodnota uzavřená ve složených závorkách `{ }`.
- Pole: Seřazený seznam hodnot uzavřený v hranatých závorkách `[ ]`.
Pravidla formátu:
- Názvy klíčů musí být v uvozovkách (např. `„jmeno“`).
- Řetězce musí být v uvozovkách (apostrofy nejsou povoleny).
- Dvojice klíč/hodnota jsou odděleny dvojtečkou `:`.
- Jednotlivé prvky jsou odděleny čárkou `,`.
—
2. Podporované datové typy
JSON podporuje omezenou, ale postačující sadu datových typů:
| Typ | Příklad | Poznámka |
|---|---|---|
| String | `„Ahoj“` | Text v uvozovkách (Unicode). |
| Number | `123`, `3.14` | Celá i desetinná čísla. |
| Object | `{„k“: „v“}` | Vnořený JSON objekt. |
| Array | `[1, 2, 3]` | Seznam hodnot jakéhokoliv typu. |
| Boolean | `true` / `false` | Logická hodnota (malými písmeny). |
| Null | `null` | Reprezentace prázdné hodnoty. |
—
3. Příklad komplexního JSON dokumentu
{
"id": 101,
"aktivni": true,
"uzivatel": {
"jmeno": "Jan",
"prijmeni": "Novák"
},
"tagy": ["it", "vyvoj", "dotnet"],
"poznamka": null
}
—
4. JSON vs. XML
| Vlastnost | JSON | XML |
|---|---|---|
| Čitelnost | Velmi vysoká, stručná | Horší kvůli uzavíracím značkám |
| Velikost | Menší (úspornější) | Větší (režie tagů) |
| Datové typy | Podporuje (čísla, bool) | Vše je vnímáno jako text |
| Zpracování | Velmi rychlé (nativní v JS) | Pomalejší (nutnost parsování DOM) |
—
5. Použití v praxi
- REST API: Hlavní formát pro komunikaci mezi serverem a klientem.
- Konfigurace: Mnoho nástrojů používá JSON pro své konfigurační soubory (např. `package.json` v Node.js nebo `appsettings.json` v .NET).
- NoSQL Databáze: Databáze jako MongoDB ukládají data ve formátu BSON (binární JSON).
Varování: JSON nepodporuje komentáře (podle oficiální specifikace RFC 8259). Některé implementace je sice tolerují, ale pro maximální kompatibilitu by se neměly používat.
Související články:
Tagy: programming web data json serialization architecture
it/sw/json.txt · Poslední úprava: autor: admin
