PHP JSON

Bylo nebylo. Mezi různými aplikacemi bylo zapotřebí vyměňovat data. I vymysleli iMudrci jazyk XML. Byl to však jazyk nejazyk, formát neformát. Naštěstí se po dlouhé době přešlapování v XML bahně začal používat JavaScript Object Notation, neboli JSON a produktivita bastlířů se rázem řádově znásobila. (Pro státní instituce samozřejmě ponecháme XML, protože co není na pohled komplikované, je nutně podezřelé a když je něco ve státní sféře hotové moc rychle, je to ještě podezřelejší a problematické co do vyúčtování milionů za pár řádek kódu.)

Jak s JSON pracovat? Snadno, kluci (a holky), snadno … JSON jsou relativně dobře čitelná data (narozdíl od XML). Níže je ukázka. Vždy máme párové informace „klíč“: „hodnota“ oddělené dvojtečkou a jednotlivé páry oddělené čárkou. Hodnota může být řetězec, boolean, číslo, null, pole nebo objekt. Uzavíráme je do { } závorek.

Samotná JSON data jsou vždy řetězec. To je velká výhoda. Obdržíte-li JSON data, můžete je snadno v jakémkoliv jazyce přežvýkat. Ukážeme si jak.

Protože jde o řetězec, rovnou jej přiřadíme proměnné

a zkonvertujeme obsah proměnné na PHP objekt

Obsah objektu můžeme vyobrazit skládkovým příkazem nebo tiskařským příkazem:

Vyskočí na nás například

Skládkový příkaz bývá kupodivu přehlednější, ale může v nánosech dat v závislosti na nastavení php.ini něco skrývat třemi tečkami … .
Pokud není nastaveno přehledné zobrazování, můžete si výstup trochu zpřehlednit přidáním <pre></pre>, tzn.:

Print_r zobrazí vše, ale jako na skládce.

A teď pozor! K jednotlivým položkám objektu přistupujeme objektově takto

Příkaz vypíše jméno Tamara.

Povšimněte si prosím, že jednotlivé uživatelky a jejich propriety zavíráme do { } závorek a oddělujeme čárkou. Nesmíte však zapomenout i na hranaté závorky [ ] pro uzavření celého JSON řetězce.

Které jméno vyplivne echo $prezvykano[1]->name; ?
Určitě ne Tamara, jak by si mohl leckdo myslet, ale Hermiona, protože programátoři začínají od nuly přece!

Načítání dat se však provádí většinou z různých jiných zdrojů, například z webových stránek nebo ze souboru, ne tak jak je to zjednodušeno v ukázce. Většinou musíme iterovat přes pole dat. Například chceme vypsat všechny uživatelky, ne jenom Tamaru.

Použili bychom např. curl nebo file_get_contents

Nejčastěji budete používat příkaz foreach

Z monitoru vyleze

Tamara
Hermiona
Magda

 

Pořád však pracujeme s pohádkově jednoduchými daty. V reálných aplikacích se vyskytují vnořené řetězce. Jak přistupovat ke vnořeným datů?

Na ukázce níže jsou data ve formátu JSON, která bychom získali načtením přes REST API WooCommerce (é-šopácký plugin do WordPressu):

Pomocí funkce json_decode jsme data převedli na PHP objekt.

Už víme jak načíst například id: $shopdata->id

Jak ale načíst jméno a příjmení zákazníka?

Není to tedy nic těžkého. Jenom je pak horší vyznat se v tom všem při načítání dat pomocí foreach. Stačí však mít kvalitní pracovní prostředí bez rušících vlivů a nenechat se odradit tím, že nevíte jak přesně postupovat. Pracujte systematicky krok za krokem a zvládnete cokoliv.

 

 

Jak to bylo dál, se dozvíte na stránce www.taniarascia.com/how-to-use-json-data-with-php-or-javascript/