Json decode/encode library with exception throwing on error.

v1.0.1 2021-08-18 13:32 UTC

This package is auto-updated.

Last update: 2024-05-18 20:02:26 UTC


Latest Version Downloads Software License Build Status


This library provides Json::decode() and Json::encode() implementations throwing \JsonException on errors.

To use this library:

  • install the library by using composer: composer require pnz/json-exception
  • replace the usage of json_decode() with Json::decode()
  • replace the usage of json_encode() with Json::encode()
  • catch the \JsonException eventually thrown by the functions

Example: Old code

 $data = json_decode($jsonString, ...);
 if (ERROR_NONE !== json_last_error()) {
     // handle the error: thown a custom exception, or return
     // $error = json_last_error_msg();
     // $errorCode = json_last_error();

new code:

try {
    $data = Json::decode($jsonString, ...);
} catch(\JsonException $e) {
   // Handle the exception


To run the PHP coding-styles checks (php-cs-fixer and phpstan) run the make phpcs command to:

  • download the php-cs-fixer tool in tools/ (if not present)
  • download the phpstan tool in tools/ (if not present)
  • Run php-cs-fixer on the source code
  • Run phpstan on the source code

To run the tests, use make tests to

  • download phpunit tool in tools/ if not present
  • run phpunit tests