Skip to content

yadakhov/json

Repository files navigation

Latest Stable Version License Build Status

A simple wrapper class for working with Json.

Work with json as an object in PHP. Provides a simple api with dot notation for field access.

Use get() or set() to access any fields in the json structure.

require __DIR__.'/vendor/autoload.php';
use Yadakhov\Json;

$json = new Json(['status' => 'success', 'developer' => ['name' => 'Yada Khov']]);
echo $json;  // {"status":"success","developer":{"name":"Yada Khov"}}

$json->set('status', 'winning');
echo $json;  // {"status":"winning","developer":{"name":"Yada Khov"}}

Installation

With Composer

$ composer require yadakhov/json

Old fashion php

// download src/Json.php to your code folder..
require_once '/path/to/Json.php';

use Yadakhov/Json;

$json = new Json();

Usage: The Constructor

Will to accept array or json encoded string.

// There are 2 ways to instantiation a new Json object

// 1.
$json1 = new Json('{"status":"success"}');

// 2
$json2 = new Json(['status' => 'success']);

API functions

$json->get('dot.notation') - get a field
$json->set('dot.notation', $value) - set a field
$json->toString() - return the Json object as a string
$json->toStringDot() - return the dot notation of the structure.
$json->toStringPretty() - json pretty print
$json->toArray() - return the array representation.

Design decision

Internally, the json is stored as a PHP array. This allows us to use dot notation.

The left hand side of a json encoded string needs to be double quoted.

{
    "status": "success"
}

Dependencies

PHP 5.4 for short array syntax.

This package uses illuminate/support for the array and string helpers.

Run tests

./vendor/bin/phpunit