pnz/json-exception

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-12-18 21:11:17 UTC


README

Latest Version Downloads Software License Build Status

Usage

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
}

Development

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