hampel / json
A simple wrapper for json_encode and json_decode with exception based error handling
Installs: 75 944
Dependents: 12
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=5.5.0
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ~7.0|~8.0
README
A simple wrapper for json_encode
and json_decode
with exception based error handling
By Simon Hampel
Note: as of PHP v7.3 there is now a JSON_THROW_ON_ERROR
option for both native commands which should effectively
render this package obsolete.
Installation
To install using composer, run the following command:
composer require hampel/json
Note that there are three versions of this package, depending on the version of PHP you use:
- v2.1 supports PHP >= v5.3.3
- v2.2 supports PHP >= v5.4.0
- v2.3 supports PHP >= v5.5.0
The three versions will be maintained in parallel
Usage
All parameters are the same as specified for the PHP functions json_encode and json_decode respectively.
The main difference that this class provides is that it throws exceptions when there are errors and translates the error codes into meaningful text for you automatically.
<?php use Hampel\Json\Json; use Hampel\Json\JsonException; $data = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); // Encode a variable as JSON: echo Json::encode($data); // Encode options $options = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP; echo Json::encode($data, $options); // Decode JSON: print_r(Json::decode('{"a":1,"b":2,"c":3,"d":4,"e":5}')); // Error handling try { Json::decode('{"a":1,"b":2,"c":3,"d":4,"e":5'); // missing } } catch (JsonException $e) { echo "Oops: " . $e->getMessage(); }