There is no license information available for the latest version (1.0.2) of this package.

JSON decoding solution with JsonException support for older PHP versions

1.0.2 2019-08-22 06:50 UTC

This package is auto-updated.

Last update: 2020-07-22 08:53:08 UTC




JSON decoding solution with JsonException support for older PHP versions

Packagist PHP version Build Status Scrutinizer Code Quality Code Coverage Build Status

Installation with Composer

$ composer require germania-kg/jsondecoder


The callable JsonDecoder accepts the same parameters than described in PHP's documentation on json_decode.

Additionally, it accepts some other widely-used variable types as well:

  • Psr\Http\Message\ResponseInterface
  • Psr\Http\Message\StreamInterface
  • string
use Germania\JsonDecoder\JsonDecoder;

// Let:
// $response instance of ResponseInterface,
// $body instance of StreamInterface
$body = $response->getBody();
$str = $body->__toString();

try {
  $decoder = new JsonDecoder;
  $decoded = $decoder( $response );  
  $decoded = $decoder( $body );  
  $decoded = $decoder( $str );    
catch ( \JsonException $e)
  echo $e->getMessage();


When the decoding fails, a \JsonException (mind the global namespace!) will be thrown. This class is provided by Symfony's Polyfill PHP 7.3 for those lacking PHP 7.3.


See full issues list.


$ git clone
$ cd JsonDecoder
$ composer install

Unit tests

Either copy phpunit.xml.dist to phpunit.xml and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this:

$ composer test
# or
$ vendor/bin/phpunit