Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON Wrapper

Latest Version on Packagist Total Downloads Open Issues License

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();
}

About

A simple wrapper for json_encode and json_decode with exception based error handling

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages