Работа с JSON
Nette\Utils\Json е статичен клас с функции за кодиране и декодиране на JSON. Тя се справя с уязвимостите в различните версии на PHP и хвърля изключения при възникване на грешки.
Монтаж:
Всички примери предполагат, че псевдонимът вече е създаден:
Използване на
encode(mixed $value, bool $pretty=false, bool $asciiSafe=false, bool $htmlSafe=false, bool $forceObjects=false): string
Конвертира $value
във формат JSON.
Ако е зададено на $pretty
, това форматира JSON за по-лесно четене и
яснота:
На адрес $asciiSafe
той генерира изход в ASCII, т.е. замества символите
Unicode с последователността \uxxxx
:
Параметърът $htmlSafe
гарантира, че изходът няма да съдържа
символи, които имат специално значение в HTML:
С $forceObjects
дори полетата с числови ключове ще бъдат кодирани
като обекти на JavaScript:
Изключение се хвърля при грешка Nette\Utils\JsonException
.
decode(string $json, bool $forceArray=false): mixed
Разработва JSON в PHP.
Задаването на $forceArray
води до връщане на масиви вместо на
обекти:
Ако възникне грешка, се изхвърля изключение на адрес
Nette\Utils\JsonException
.
Как да изпратя JSON от главния модул?
Това може да стане с помощта на метода $this->sendJson($data)
, който
може да бъде извикан в метода action*()
, например вижте Изпращане на отговор.