ProfiPHPProfiPHP
Категория: Функции JSON

Функция Json_decode

Функция Json_decode декодирует JSON строку.
mixed json_decode( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
Функция Json_decode принимает закодированную в JSON строку и преобразует ее в переменную PHP.

Параметр Json сохраняет Json строку (string) для декодирования.

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

Если параметр Assoc установлен в TRUE, возвращаемые объекты будут преобразованы в ассоциативные массивы.

Параметр Depth указывает глубину рекурсии.

Параметр Options являет собой битовую маску опций декодирования JSON. В настоящий момент поддерживается только две опции. JSON_BIGINT_AS_STRING - позволяет конвертировать большие целые в строки, а не в рациональные (float) числа, что происходит по умолчанию. JSON_OBJECT_AS_ARRAY - действует так же, как если задать Assoc равным TRUE.

Функция Json_decode возвращает данные Json, преобразованные в соответствующие типы PHP. Значения true, false и null возвращаются как TRUE, FALSE и NULL соответственно. NULL также возвращается, если Json не может быть преобразован или закодированные данные содержат вложенных уровней больше, чем допустимый предел для рекурсий.

Пример использования:
$data = array ( 'link' => 'color', 'title' => 'red' );
$json_encode_data = json_encode( $data ); // {"link":"color","title":"red"}

$json_decode_data = json_decode( $json_encode_data, true );
print_r( $json_decode_data );
Результат выполнения примера:
Array ( [link] => color [title] => red )
Спецификация JSON не тоже самое, что и JavaScript, но является его частью.

В случае ошибки декодирования можно использовать Json_last_error для определения ее причины.

Добавить комментарий

Имя:
Текст комментария: