JSON
Když otevřete webovou stránku, prohlížeč si o ni řekne serveru. Server je počítač na internetu, který má uložené soubory webu a posílá je každému, kdo o ně požádá. Nejdřív pošle index.html a pak styly, obrázky a skripty, které stránka potřebuje.
O něco si může serveru říct i skript na stránce: ne o celou stránku, jen o data. E-shop si řekne o zboží, chat o nové zprávy, aplikace s počasím o předpověď. Stránka zůstává stejná a mění se jen data. Proto může jedna stránka ukázat tisíce různých výrobků.
Data cestují jako text, nejčastěji ve formátu JSON (zkratka JavaScript Object Notation, čte se „džejsn“). Soubory s daty v JSON mají příponu .json. Takhle vypadá seznam zvířat v malém útulku:
[
{ "jmeno": "Rex", "druh": "pes", "vek": 3, "ockovane": true },
{ "jmeno": "Luna", "druh": "kočka", "vek": 2, "ockovane": false }
]Vypadá to přesně jako pole objektů v JavaScriptu, odtud ten název. JSON má ale přísnější pravidla:
- Klíče jsou vždy ve dvojitých uvozovkách:
"jmeno", nejmeno. - Text je také ve dvojitých uvozovkách. Jednoduché uvozovky jako v
'Rex'povolené nejsou. - Za poslední položkou pole ani za poslední vlastností objektu není čárka.
- Nejsou v něm komentáře, proměnné ani funkce. Hodnoty jsou text, čísla,
true,false,null, pole a objekty.
Stačí jediná chyba a prohlížeč soubor nepřečte vůbec. V konzoli pak ohlásí chybu SyntaxError, která říká, kde se zasekl: řádek a sloupec, nebo text kolem chyby.
Cvičení skutečný server nemají, ale náhled se jako server chová: skript si může říct o kterýkoli soubor cvičení a za malou chvíli ho dostane, jako by přišel ze serveru na internetu. V tomto cvičení je skript hotový: řekne si o zvirata.json a zvířata ukáže v seznamu. Jak to dělá, uvidíte o dvě cvičení dál. Teď budete pracovat jen s daty v souboru zvirata.json.
Jak psát:
Pokyny
Stránka ukazuje jen Načítám…, protože v souboru zvirata.json jsou chyby: poslední zvíře, Max, je zapsané tak, jak se píšou objekty v JavaScriptu. Opravte ho podle pravidel JSON, aby stránka ukázala všechna tři zvířata.
Do útulku přibylo nové zvíře: kočka Mia, 2 roky, očkovaná. Přidejte ji na konec pole se stejnými čtyřmi vlastnostmi, jaké mají ostatní zvířata. Věk zapište jako číslo a true bez uvozovek, stejně jako u ostatních.