JSON (JavaScript Object Notation) - je to formát pro sdílení dat široce používaný v moderním vývoji webu. Umožňuje přenášet strukturovaná data mezi klientem a serverem. JSON dotazy jsou obzvláště oblíbené v RESTful API, kde se používají k odesílání a přijímání dat.
Chcete-li vytvořit dotaz JSON, musíte znát několik základních pojmů a funkcí. Syntaxe JSON je jednoduchá a srozumitelná – je to jednoduše sada párů "klíč-hodnota". Klíče by měly být řádky a hodnoty mohou být různých typů – řádky, čísla, bulvy hodnoty, pole nebo jiné objekty.
Jak mohu požádat json? Nejjednodušší způsob, jak odeslat požadavek JSON do JavaScriptu, je použít metodu fetch(). Umožňuje provádět asynchronní GET, POST a mnoho dalších typů dotazů. V případě požadavku JSON použijeme metodu POST k odeslání dat na server.
Příprava na json dotaz
Před provedením požadavku json je nutné správně připravit data. V opačném případě může být žádost provedena s chybou nebo neposkytnutí očekávaného výsledku.
Nejprve je třeba určit, jaká data chcete získat nebo předat pomocí json dotazu. Může to být informace o produktu, uživatelích, článku atd.
Za druhé, musíte se ujistit, že znáte datovou strukturu, kterou chcete přenést nebo získat pomocí json dotazu. Pokud chcete například získat informace o uživateli, budete potřebovat vědět, která pole jsou v objektu uživatele k dispozici.
Za třetí, zkontrolujte, kterou metodu dotazu HTTP (GET, POST, PUT, DELETE) je třeba použít pro váš dotaz json. Pokud chcete získat data, použijte metodu GET. Pokud chcete vytvořit nová data, použijte metodu POST. Pokud chcete aktualizovat nebo změnit stávající data, použijte metodu PUT. Pokud chcete data smazat, použijte metodu DELETE.
Dalším krokem je vybrat správné Endpoint API. API-Endpoint je adresa, na kterou budete json dotazovat. Obvykle se skládá z domény, cesty a možností dotazu.
Nakonec předejte data podle očekávané struktury. Chcete-li to provést, musíte vytvořit objekt s poli ve formátu klíč-hodnota nebo vytvořit pole hodnot. Poté převeďte tento objekt nebo pole do formátu json pomocí funkce JSON.stringify().
Příprava na json dotaz je důležitou fází před odesláním žádosti. Tím, že to uděláte správně, budete moci bez problémů a chyb získat nebo předat data.
Určení účelu žádosti
Před odesláním požadavku JSON je nutné jasně definovat jeho účel. Účel dotazu je určen tím, co konkrétně chcete získat nebo udělat pomocí dotazu.
Pokud například chcete získat informace o zboží v e-shopu, cílem dotazu bude získat seznam produktů nebo podrobné informace o konkrétním produktu.
Pokud chcete data změnit nebo aktualizovat, účelem dotazu bude změna příslušných polí nebo přidání nových dat do databáze.
Stanovení cíle dotazu je důležitým krokem, protože na tom závisí další kroky při vytváření a odesílání dotazu JSON.
| Příklady cílů dotazů |
|---|
| Získání seznamu produktů |
| Získání podrobných informací o produktu |
| Změna ceny zboží |
| Přidání nového produktu do databáze |
Správné určení cíle dotazu pomůže vytvořit správný požadavek JSON a dosáhnout očekávaného výsledku.
Výběr metody dotazování
| Metoda | Popis |
|---|---|
| GET | Metoda se používá k získávání dat bez jejich změny na serveru. Pomocí get dotazu můžete získat informace zadáním v možnostech URL. |
| POST | Metoda se používá k přenosu dat na server k jejich zpracování. Požadavek POST může obsahovat tělo zprávy s daty, která budou zpracována na serveru. |
| PUT | Metoda se používá k aktualizaci stávajících dat na serveru. Při odesílání žádosti o PUT je třeba uvést, která data je třeba aktualizovat, jejich nové hodnoty a adresu zdroje. |
| DELETE | Metoda se používá k odstranění dat ze serveru. DELETE-žádost s sebou nese informaci, který zdroj je třeba odstranit. |
Při výběru metody je třeba vzít v úvahu vlastnosti a vlastnosti operací, které je třeba provést s daty na serveru. Pokud například potřebujete získat informace o nějakém uživateli, je lepší použít get dotaz, a pokud potřebujete aktualizovat jeho data, měli byste zvolit metodu PUT.
Tvarování těla dotazu ve formátu json
Tělo dotazu ve formátu JSON je řetězec složený z párů "klíč-hodnota" oddělených čárkami a uvězněných v závorkách <>. Klíče a hodnoty mohou být jak řádky, tak čísla, bulové hodnoty nebo jiné JSON objekty.
Příklad těla dotazu ve formátu JSON:
V tomto příkladu obsahuje tělo dotazu tři páry klíč-hodnota: "name", "email"a " age". Klíč "name" má význam "John Doe", klíč "email" má význam "[email protected]" a klíč " age " má hodnotu 30.
Pro vytvoření těla požadavku v json formátu je nutné:
- Vytvořit objekt, který bude obsahovat data, která chcete odeslat.
- Převést objekt na řetězec ve formátu JSON pomocí funkce JSON.stringify() . Tato funkce převádí všechny klíče a hodnoty objektu na json formát.
Příklad tvarování těla dotazu ve formátu json:
var data = ;var jsonBody = JSON.stringify(data);
V tomto příkladu objekt data obsahuje tři páry klíč-hodnota. Funkce JSON.stringify () převádí objekt data na řádek ve formátu json. Výsledek je přiřazen proměnné jsonBody, která bude použita v těle dotazu.
Nyní, když je tělo požadavku ve formátu json vytvořeno, je možné odeslat dotaz příslušnou metodou (např. pomocí AJAX).
Odeslání dotazu json a obdržení odpovědi
Chcete-li odeslat json dotaz a obdržet odpověď, musíte použít asynchronní dotaz XMLHttpRequest.
Příklad odeslání dotazu json:
| Metoda | Popis |
|---|---|
| open() | Naváže spojení se serverem |
| setRequestHeader() | Nastaví název dotazu |
| send() | Odešle požadavek na server |
Příklad získání odpovědi:
| Vlastnost | Popis |
|---|---|
| status | Stav odpovědi (kód odpovědi serveru) |
| responseText | Text odpovědi serveru |
Příklad kódu pro odeslání dotazu json a přijetí odpovědi:
var xhr = new XMLHttpRequest();xhr.open('POST', 'url', true);xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');xhr.onreadystatechange = function () >;xhr.send(JSON.stringify(< key: 'value' >));
Odeslání požadavku json a přijetí odpovědi je tedy účinným způsobem přenosu strukturovaných dat mezi klientem a serverem.