PHP code example of philiprehberger / php-safe-json
1. Go to this page and download the library: Download philiprehberger/php-safe-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/ */
philiprehberger / php-safe-json example snippets
use PhilipRehberger\SafeJson\SafeJson;
$obj = SafeJson::decode('{"name":"Alice","age":30,"active":true}');
$obj->string('name'); // "Alice"
$obj->int('age'); // 30
$obj->bool('active'); // true
$obj = SafeJson::decode('{"user":{"address":{"city":"Vienna"}}}');
$obj->string('user.address.city'); // "Vienna"
$obj->has('user.address.city'); // true
$obj->has('user.address.zip'); // false
$obj = SafeJson::decode('{"user":{"name":"Alice"}}');
$user = $obj->object('user');
$user->string('name'); // "Alice"
$obj = SafeJson::tryDecode('{invalid}');
// Returns null instead of throwing
$obj = SafeJson::tryDecode('{"valid":true}');
// Returns JsonObject
$obj = SafeJson::decode('{"name":"Alice"}');
$obj->get('name'); // "Alice"
$obj->get('missing', 'default'); // "default"
$obj->get('missing'); // throws JsonKeyException
$obj = SafeJson::decode('{"name":"Alice","age":30}');
$obj->stringOrNull('name'); // "Alice"
$obj->stringOrNull('missing'); // null
$obj->intOrNull('name'); // null (wrong type)
$obj->intOrNull('age'); // 30
$a = SafeJson::decode('{"name":"Alice","age":30}');
$b = SafeJson::decode('{"name":"Bob","email":"[email protected] "}');
$merged = $a->merge($b);
$merged->string('name'); // "Bob" (overridden)
$merged->int('age'); // 30 (kept from $a)
$merged->string('email'); // "[email protected] " (added from $b)
$obj = SafeJson::decode('{"users":[{"name":"Alice","age":30},{"name":"Bob","age":25}]}');
$obj->query('$.users[*].name'); // ['Alice', 'Bob']
$obj->query('$.users[0].age'); // [30]
$obj->query('$..name'); // ['Alice', 'Bob'] (recursive descent)
$obj->query('$.users[0:1]'); // [['name' => 'Alice', 'age' => 30]]
$changes = SafeJson::diff(
'{"name":"Alice","age":30}',
'{"name":"Bob","age":30,"email":"[email protected] "}'
);
// [
// ['op' => 'replace', 'path' => 'name', 'value' => 'Bob', 'old' => 'Alice'],
// ['op' => 'add', 'path' => 'email', 'value' => '[email protected] '],
// ]
// Memory-efficient decoding of large JSON arrays
foreach (SafeJson::decodeStream('/path/to/large-file.json') as $element) {
// Each element is decoded one at a time
// Only one element is held in memory
}
$json = SafeJson::encode(['key' => 'value']);
// '{"key":"value"}'
$json = SafeJson::tryEncode($data);
// Returns null on failure instead of throwing
$obj = SafeJson::decode('{"key":"value"}');
$obj->toArray(); // ['key' => 'value']
$obj->toJson(); // '{"key":"value"}'
json_encode($obj); // '{"key":"value"}' (JsonSerializable)
(string) $obj; // '{"key":"value"}' (Stringable)
bash
composer