The package provides methods to encode and decode JSON.
- It always throws
\JsonException
instead of returning false on error. - It has sensible defaults, so you don't have to specify flags all the time.
- It has handy method to encode for HTML safely.
- It handles
\JsonSerializable
,\DateTimeInterface
, and\SimpleXMLElement
well.
- PHP 7.4 or higher.
JSON
PHP extension.SimpleXML
PHP extension.
The package could be installed with composer:
composer require yiisoft/json --prefer-dist
Encoding:
use \Yiisoft\Json\Json;
$data = ['name' => 'Alex', 'team' => 'Yii'];
$json = Json::encode($data);
Encoding for HTML:
use \Yiisoft\Json\Json;
$data = ['name' => 'Alex', 'team' => 'Yii'];
$json = Json::htmlEncode($data);
Decoding:
use \Yiisoft\Json\Json;
$json = '{"name":"Alex","team":"Yii"}';
$data = Json::decode($json);
The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunit
The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:
./vendor/bin/roave-infection-static-analysis-plugin
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
The Yii JSON is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.