1. Go to this page and download the library: Download ustek/hujson 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/ */
ustek / hujson example snippets
use Ustek\HuJSON\HuJSON;
// Strip comments, whitespace, and trailing commas -> standard JSON.
HuJSON::minimize("// config\n{ \"a\": 1, \"b\": [1, 2,], }\n");
// => {"a":1,"b":[1,2]}
// Reformat (like gofmt, for HuJSON). Idempotent; adds one trailing newline.
HuJSON::format('{"a":1,"b":[1,2,]}');
// => {"a": 1, "b": [1, 2]}\n
// Turn HuJSON into standard JSON while preserving line numbers and byte offsets
// (comments and trailing commas become spaces).
HuJSON::standardize("// c\n{\"a\":1,}\n");
// => " \n{\"a\":1 }\n"
use Ustek\HuJSON\HuJSON;
$v = HuJSON::parse($src);
$v->pack() === $src; // true: a parsed, untouched value re-packs identically
(string) $v; // same as pack()
$copy = clone $v; // deep copy (equivalent to Go's Value.Clone)
$copy->minimize();
use Ustek\HuJSON\HuJSON;
$doc = HuJSON::parse('[1, 2, {"k": 3}]');
$node = $doc->find('/2/k'); // RFC 6901 pointer -> a Value node (or null)
$node->value->asInt(); // 3
// RFC 6902 patch; comments around inserted values are preserved.
$v = HuJSON::parse('{ "foo": "bar" }');
$v->patch('[{"op":"add","path":"/baz","value":"qux"}]');
(string) $v; // { "foo": "bar","baz":"qux" }
use Ustek\HuJSON\Literal;
Literal::fromString("a\tb")->bytes; // the 6 bytes: "a\tb" (quoted, tab escaped)
Literal::fromInt(-42)->bytes; // -42
Literal::fromFloat(INF)->bytes; // "Infinity" (JSON string, with quotes)
(new Literal('"hi"'))->asString(); // "hi"
(new Literal('42'))->asInt(); // 42
(new Literal('3.14'))->asFloat(); // 3.14
(new Literal('true'))->asBool(); // true
(new Literal('nul'))->isValid(); // false
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.