Statement on glibc/iconv Vulnerability

simdjson_key_value

(PECL simdjson >= 2.0.0)

simdjson_key_valueДекодирует значение строки JSON, расположенной по запрошенному указателю JSON

Описание

simdjson_key_value(
    string $json,
    string $key,
    bool $associative = false,
    int $depth = 512
): mixed

Декодирует и возвращает значение, найденное в запрошенном указателе JSON.

Список параметров

json

Запрашиваемая и декодируемая строка (string) в формате json.

Функция работает только со строками в кодировке UTF-8.

Функция анализирует допустимые входные данные, которые функция json_decode() может декодировать, при условии, что их длина не превышает 4 Гб.

key

Строка (string) указатель JSON.

associative

При значении true, объекты JSON будут возвращены как ассоциативные массивы (array); при значении false, объекты JSON будут возвращены как объекты (object).

depth

Максимальная глубина вложенности декодируемой структуры. Значение должно быть больше 0 и меньше или равно 2147483647. Вызывающие команды должны использовать достаточно маленькие значения, поскольку большая глубина требуют больше места в буфере и увеличивают глубину рекурсии, в отличие от текущей реализации функции json_decode().

Возвращаемые значения

Возвращает часть значения, закодированное в параметре json на которую ссылается ключ key в соответствующем PHP-типе. Значения true, false и null возвращаются как true, false и null соответственно.

Ошибки

Если параметр json или key недопустимы или параметр key не удалось найти в параметре json, то начиная с версии PECL simdjson 2.1.0 выбрасывается исключение SimdJsonException; ранее выбрасывалось исключение RuntimeException.

Если параметр depth находится вне допустимого диапазона, то начиная с версии PECL simdjson 3.0.0 выбрасывается исключение SimdJsonValueError, тогда как ранее выдавалась ошибка уровня E_WARNING.

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top