JSON-nal való munka
A Nette\Utils\Json egy statikus osztály a JSON formátum kódolására és dekódolására szolgáló függvényekkel. Kezeli a különböző PHP verziók sebezhetőségeit és kivételeket dob hibák esetén.
Telepítés:
Minden példa feltételezi a létrehozott aliast:
Használat
encode(mixed $value, bool $pretty=false, bool $asciiSafe=false, bool $htmlSafe=false, bool $forceObjects=false): string
Átalakítja a $value
-t JSON formátumba.
Ha a $pretty
be van állítva, a JSON-t formázza a könnyebb olvashatóság és áttekinthetőség
érdekében:
Az $asciiSafe
esetén a kimenetet ASCII-ben generálja, azaz a unicode karaktereket \uxxxx
szekvenciákra cseréli:
A $htmlSafe
paraméter biztosítja, hogy a kimenet ne tartalmazzon olyan karaktereket, amelyeknek speciális
jelentésük van a HTML-ben:
A $forceObjects
paraméterrel a numerikus kulcsokkal rendelkező tömbök is JavaScript objektumként lesznek
kódolva:
Hiba esetén Nette\Utils\JsonException
kivételt dob.
decode(string $json, bool $forceArray=false): mixed
Feldolgozza a JSON-t PHP-ba.
A $forceArray
beállítás kikényszeríti a tömbök visszaadását objektumok helyett:
Hiba esetén Nette\Utils\JsonException
kivételt dob.
Hogyan küldjünk JSON-t a presenterből?
Erre használható a $this->sendJson($data)
metódus, amelyet például az action*()
metódusban
hívhatunk meg, lásd Válasz küldése.