json_validate
(PHP 8 >= 8.3.0)
json_validate — Checks if a string contains valid JSON
Description
If json_validate() returns false, 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.
Parameters
json
-
The string to validate.
This function only works with UTF-8 encoded strings.
Note:
PHP implements a superset of JSON as specified in the original
» RFC 7159.
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.
Return Values
Returns true if the given string is syntactically valid JSON, otherwise
returns false.
Errors/Exceptions
If depth is outside the allowed range,
a ValueError is thrown.
If flags is not a valid flag,
a ValueError is thrown.
Examples
Example #1 json_validate() examples
<?php
var_dump(json_validate('{ "test": { "foo": "bar" } }'));
var_dump(json_validate('{ "": "": "" } }'));
?>
The above example will output: