yiisoft / json
Yii JSON encoding and decoding
Fund package maintenance!
Open Collective
yiisoft
Installs: 534 612
Dependents: 31
Suggesters: 0
Security: 0
Stars: 22
Watchers: 17
Forks: 6
Open Issues: 4
Requires
- php: ^7.4|^8.0
Requires (Dev)
- infection/infection: ^0.16.3
- phan/phan: ^3.0
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2023-05-14 14:09:18 UTC
README
Yii JSON
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.
Requirements
- PHP 7.4 or higher.
JSON
PHP extension.SimpleXML
PHP extension.
Installation
The package could be installed with composer:
composer require yiisoft/json --prefer-dist
General usage
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);
Testing
Unit testing
The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunit
Mutation testing
The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:
./vendor/bin/roave-infection-static-analysis-plugin
Static analysis
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
License
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.