A TJSON parser written in PHP, using Phlexy as JSON lexer.
- PHP 7.0 at minimum is needed;
- The GMP extension.
Install the library with composer:
composer require qligier/tjson-parser
$parser = new Kentin\TJSON\Parser;
$tjson = '{"message:u":"Hello World!"}';
var_dump($parser->parse($tjson));
/*
array(1) {
'message' =>
string(12) "Hello World!"
}
*/
- Boolean values are returned as boolean;
- Binary values are decoded and returned as string;
- FloatingPoint values are returned as float;
- Integer values are returned as GMP instance;
- UnicodeString values are returned as string;
- Timestamp values are returned as DateTime instance;
- Array values are returned as indexed array;
- Object values are returned as associative array;
- Set values are returned as indexed array.
This library tries to be fully compliant with the current draft-tjson-spec (April 15, 2017). Nonetheless, the following non-compliances are not excluded:
- The library accepts various formatting for
FloatingPoint
andInteger
values that could be forbidden by the spec.
To check the library with Psalm (a static analysis tool for finding errors):
./vendor/bin/psalm
To execute the unit tests with PHPUnit (an unit testing framework):
./vendor/bin/phpunit
To check the library with Infection (a mutation testing framework):
./vendor/bin/infection --min-msi=100 --min-covered-msi=100
To check and fix the coding style with PHP Coding Standards Fixer (a tool to automatically fix PHP coding standards issues):
./vendor/bin/php-cs-fixer fix . --dry-run --diff
./vendor/bin/php-cs-fixer fix .