json_validate
(PHP 8 >= 8.3.0)
json_validate — Проверяет, содержит ли строка допустимые данные в JSON-формате
Описание
Функции json_last_error() и json_last_error_msg()
укажут причину, если функция json_validate() вернёт false
.
Функция json_validate() использует меньше памяти,
чем функция json_decode(), поскольку
функции json_validate() не нужно декодировать полезную нагрузку JSON
или создавать структуру массива или объекта, которая содержит полезную нагрузку.
Предостережение
Вызов функции json_validate() непосредственно
перед функцией json_decode() приведёт к ненужному двойному
разбору строки, поскольку функция json_decode() неявно
выполняет такую проверку при декодировании.
Функцию json_validate() вызывают только в случае,
когда данные декодирования полезной нагрузки JSON не нужны немедленно,
и требуется знать, содержит ли строка допустимый JSON.
Список параметров
json
-
Строка для проверки.
Функция работает только со строками в кодировке UTF-8.
Замечание:
PHP реализует расширенный набор JSON, который описывает исходный стандарт
» RFC 7159.
depth
-
Максимальная глубина вложенности структуры,
которую будет декодировать функция.
Значение должно быть больше 0
и меньше или равно 2 147 483 647
.
flags
-
Пока принимается только
константа JSON_INVALID_UTF8_IGNORE
.
Возвращаемые значения
Функция возвращает true
, если входная строка — синтаксически допустимый JSON,
иначе false
.
Ошибки
Выбрасывается исключение ValueError,
если значение параметра depth
выходит за пределы допустимого диапазона.
Если значение параметра flags
— недопустимый флаг,
выбрасывается исключение ValueError.
Примеры
Пример #1 Пример использования функции json_validate()
<?php
var_dump(json_validate('{ "test": { "foo": "bar" } }'));
var_dump(json_validate('{ "": "": "" } }'));
?>
Результат выполнения приведённого примера: