PHP code example of cse / helpers-json

1. Go to this page and download the library: Download cse/helpers-json library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

cse / helpers-json example snippets


$json = [
    '{"example": 12345}',   // success
    "{'example': 12345}",   // Syntax error
    '{"example": 12345}',   // success
];

foreach ($json as $item) {
    try {
        Json::decode($item);
        Json::errorToException();
        var_dump('success');
    } catch (CSEHelpersJsonException $e) {
        var_dump($e->getMessage());
    }
}

Json::encode(['example' => 12345]);
// {"example": 12345}

Json::setCheckException();
Json::encode([urldecode('bad utf string %C4_')]);
// Exception: Malformed UTF-8 characters, possibly incorrectly encoded

Json::prettyPrint(['example' => 12345, 'example2' => 56789]);
// {
//    "example": 12345,
//    "example": 56789
// }

Json::setCheckException();
Json::prettyPrint([urldecode('bad utf string %C4_')]);
// Exception: Malformed UTF-8 characters, possibly incorrectly encoded

Json::decode('{"example": 12345}');
// ['example' => 12345]

Json::setCheckException();
Json::decode("{'example': 12345}");
// Syntax error

Json::get('{"example": 12345}', 'example');
// 12345

Json::get('{"example": 12345}', 'example2', 56789);
// 56789

Json::setCheckException();
Json::get("{'example': 12345}", 'example');
// Syntax error

Json::set('{"example": 12345}', 'example2', 56789);
// {"example": 12345, "example2": 56789}

Json::set('{"example": 12345}', 'example', 56789);
// {"example": 56789}

Json::setCheckException();
Json::set("{'example': 12345}", 'example2', 56789);
// Syntax error

Json::setArray('{"example": 12345}', ['example2' => 56789]);
// {"example": 12345, "example2": 56789}

Json::setArray('{"example": 12345}', ['example' => 56789]);
// {"example": 56789}

Json::setCheckException();
Json::setArray("{'example': 12345}", ['example2' => 56789]);
// Syntax error

Json::decode('{"example": 12345}');
Json::isNoteError();
// true
Json::decode("{'example': 12345}");
Json::isNoteError();
// false

Json::decode('{"example": 12345}');
Json::getErrorMsg();
// NULL
Json::decode("{'example': 12345}");
Json::getErrorMsg();
// Syntax error

Json::decode("{'example': 12345}");
Json::getErrorMsg('- Example');
// Syntax error - Example

try {
    Json::decode("{'example': 12345}");
    Json::errorToException();
} catch (CSEHelpersJsonException $e) {
    var_dump($e->getMessage());
}
// Syntax error

try {
    Json::decode("{'example': 12345}");
    Json::errorToException('(JSON)');
} catch (CSEHelpersJsonException $e) {
    var_dump($e->getMessage());
}
// Syntax error (JSON)

try {
    Json::decode("{'example': 12345}");
    Json::errorToException('(JSON)');
} catch (CseExceptions $e) {
    var_dump($e->getMessage());
}
// Syntax error (JSON)

class Default
{
    public function example(): void
    {
        Json::encode('{"example": 12345}');
    }
}

class ExceptionTrue
{
    public function example(): void
    {
        Json::setCheckException();
        Json::encode("{'example': 12345}");
    }
}

class ExceptionFalse
{
    public function example(): void
    {
        Json::setCheckException(false);
        Json::encode("{'example': 12345}");
    }
}

$default = new Default();
$e_true = new ExceptionTrue();
$e_false = new ExceptionFalse();

try {
    $default->example();
} catch (CSEHelpersJsonException $e) {
    var_dump($e->getMessage());
}

try {
    $e_true->example();
} catch (CSEHelpersJsonException $e) {
    var_dump($e->getMessage());
}
// Syntax error

try {
    $default->example();
} catch (CSEHelpersJsonException $e) {
    var_dump($e->getMessage());
}
// Syntax error

try {
    $e_false->example();
} catch (CSEHelpersJsonException $e) {
    var_dump($e->getMessage());
}

try {
    $default->example();
} catch (CSEHelpersJsonException $e) {
    var_dump($e->getMessage());
}
bash
phpunit PATH/TO/PROJECT/tests/
bash
phpunit --configuration PATH/TO/PROJECT/phpunit.xml