====== 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 ===== * **[[it:sw:rest_api|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:// * [[it:sw:rest_api|REST API a webové služby]] * [[it:sw:javascript|Základy JavaScriptu]] * [[it:sw:asp_net_core|Serializace JSON v .NET]] //Tagy: {{tag>programming web data json serialization architecture}}//