class JsonBrowser

Helper class for working with JSON-encoded data

Constants

OPT_NONEXISTENT_EXCEPTIONS

Throw exceptions instead of using NULL for nonexistent children & siblings

ERR_DECODING_ERROR

Error decoding JSON data

ERR_UNKNOWN_TYPE

Encountered an unknown type

ERR_UNKNOWN_CHILD

Unknown child

ERR_UNKNOWN_SIBLING

Unknown sibling

TYPE_NULL

NULL type

TYPE_BOOLEAN

Boolean type

TYPE_STRING

String type

TYPE_NUMBER

Number type

TYPE_INTEGER

Integer type (subset of TYPE_NUMBER)

TYPE_ARRAY

Array type

TYPE_OBJECT

Object type

Methods

__construct(string $json, int $options)

Create a new instance

string
getPath()

Get the node path

mixed
getValue()

Get the document value

string
getJSON(int $options = \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES | \JSON_UNESCAPED_UNICODE)

Get the JSON source for the current node

int
getType()

Get the document value type

getRoot()

Get root node

getParent()

Get parent node

bool
childExists(mixed $key)

Check whether a child element exists

getChild(mixed $key)

Get a child node

bool
siblingExists(mixed $key)

Check whether a sibling exists

getSibling(mixed $key)

Get a sibling node

getNodeAt(string $path)

Get the node at a given path

mixed
getValueAt(string $path)

Get the value at a given path

Details

at line 78
__construct(string $json, int $options)

Create a new instance

Parameters

string $json JSON-encoded data
int $options Configuration options (bitmask)

at line 113
string getPath()

Get the node path

Return Value

string The node path as a JSON pointer

at line 125
mixed getValue()

Get the document value

Return Value

mixed

at line 138
string getJSON(int $options = \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES | \JSON_UNESCAPED_UNICODE)

Get the JSON source for the current node

Parameters

int $options Bitwise options for json_encode()

Return Value

string Encoded JSON string

at line 150
int getType()

Get the document value type

Return Value

int

at line 190
JsonBrowser getRoot()

Get root node

Return Value

JsonBrowser Root node

at line 202
JsonBrowser|null getParent()

Get parent node

Return Value

JsonBrowser|null Parent node

at line 215
bool childExists(mixed $key)

Check whether a child element exists

Parameters

mixed $key Index key

Return Value

bool Whether the given child exists

at line 235
JsonBrowser getChild(mixed $key)

Get a child node

Parameters

mixed $key Index key

Return Value

JsonBrowser Child node

at line 266
bool siblingExists(mixed $key)

Check whether a sibling exists

Parameters

mixed $key Index key

Return Value

bool Whether the sibling exists

at line 284
JsonBrowser getSibling(mixed $key)

Get a sibling node

Parameters

mixed $key Index key

Return Value

JsonBrowser

at line 303
JsonBrowser getNodeAt(string $path)

Get the node at a given path

Parameters

string $path JSON pointer to the requested node

Return Value

JsonBrowser

at line 325
mixed getValueAt(string $path)

Get the value at a given path

Parameters

string $path JSON pointer to the requested node

Return Value

mixed Value at the given path