跳转到主要内容

json-validate

json_validate

Checks if a string contains valid JSON

ENTITY

bool

json_validate

string

json

int

depth

512

int

flags

0

Returns whether the given ENTITY is syntactically valid JSON. If json_validate returns ENTITY, json_decode will successfully decode the given string when using the same depth and flags.

If json_validate returns ENTITY, the cause can be retrieved using json_last_error and json_last_error_msg.

json_validate uses less memory than json_decode if the decoded JSON payload is not used, because it does not need to build the array or object structure containing the payload.

[!CAUTION] Calling json_validate immediately before json_decode will unnecessarily parse the string twice, as json_decode implicitly performs validation during decoding.

json_validate should therefore only be used if the decode JSON payload is not immediately used and knowing whether the string contains valid JSON is needed.

ENTITY

json
The string to validate.

This function only works with UTF-8 encoded strings.

ENTITY

depth
Maximum nesting depth of the structure being decoded. The value must be greater than 0, and less than or equal to 2147483647.

flags
Currently only JSON_INVALID_UTF8_IGNORE is accepted.

ENTITY

Returns ENTITY if the given string is syntactically valid JSON, otherwise returns ENTITY.

ENTITY

If depth is outside the allowed range, a ValueError is thrown.

If flags is not a valid flag, a ValueError is thrown.

ENTITY

json_validate examples

<?php
var_dump(json_validate('{ "test": { "foo": "bar" } }'));
var_dump(json_validate('{ "": "": "" } }'));
?>

    

ENTITY

bool(true)
bool(false)

ENTITY

json_decode, json_last_error, json_last_error_msg