Práce s JSON
Nette\Utils\Json je statická třída s funkcemi pro kódování a dekódování formátu JSON. Ošetřuje zranitelnosti různých verzí PHP a vyhazuje výjimky při chybách.
Instalace:
Všechny příklady předpokládají vytvořený alias:
Použití
encode(mixed $value, bool $pretty=false, bool $asciiSafe=false, bool $htmlSafe=false, bool $forceObjects=false): string
Převádí $value
do formátu JSON.
Při nastavení $pretty
naformátuje JSON pro snažší čtení a přehlednost:
Při $asciiSafe
vygeneruje výstup v ASCII, tj. unicode znaky nahradí za sekvence \uxxxx
:
Parametr $htmlSafe
zajistí, že výstup nebude obsahovat znaky mající v HTML speciální význam:
S $forceObjects
se budou i pole s numerickými klíči kódovat jako JavaScriptové objekty:
Při chybě vyhazuje výjimku Nette\Utils\JsonException
.
decode(string $json, bool $forceArray=false): mixed
Parsuje JSON do PHP.
Nastavení $forceArray
vynutí vrácení polí místo objektů:
Při chybě vyhazuje výjimku Nette\Utils\JsonException
.
Jak odeslat JSON z presenteru?
Lze k tomu použít metodu $this->sendJson($data)
, kterou můžeme zavolat třeba v metodě
action*()
, viz Odeslání
odpovědi.