Skip to content

JSON decoding solution with JsonException support for older PHP versions

License

Notifications You must be signed in to change notification settings

GermaniaKG/JsonDecoder

Repository files navigation


JsonDecoder

Decode JSON in strings and PSR-7 messages. Supports JsonException on older PHP.

Packagist PHP version Tests

Installation with Composer

$ composer require germania-kg/jsondecoder

Usage

The callable JsonDecoder accepts the same parameters than described in PHP's documentation on json_decode. Additionally, it accepts some widely-used kinds of data:

  • Psr\Http\Message\MessageInterface
  • 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();
}

Exceptions

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.

Issues

See full issues list.

Development

$ git clone https://github.com/GermaniaKG/JsonDecoder.git
$ 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

About

JSON decoding solution with JsonException support for older PHP versions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages