WP_JSON_ENCODE() │ WP 4.1.0
Функция wp_json_encode()
кодирует переменную в формат JSON, выполняя некоторые проверки на корректность. Она проверяет строки и переводит их в кодировку UTF-8.
Переданная переменная может быть любого типа данных: массив, строка, объект, число и т.д.
Функция основана на стандартной PHP функции json_encode()
.
Важно: Функция не поддерживает хуки.
Возвращаемое значение
- Строка | false: возвращает закодированную JSON строку или
false
, если кодирование не удалось.
Использование
Синтаксис
wp_json_encode( $data, $options, $depth );
- $data (mixed) (обязательный): переменная (обычно массив или объект), которую нужно закодировать в JSON.
- $options (int): параметры для передачи функции
json_encode()
.
Константы, которые можно комбинировать с помощью |
(битовая маска):
JSON_HEX_QUOT
: Кодирование двойных кавычек.JSON_HEX_TAG
: Кодирование угловых скобок.JSON_HEX_AMP
: Кодирование амперсанда.JSON_HEX_APOS
: Кодирование одинарных кавычек.JSON_NUMERIC_CHECK
: Преобразование строковых чисел в тип данные чисел.JSON_PRETTY_PRINT
: Чтение более удобный формат, с отступами.JSON_UNESCAPED_SLASHES
: Не экранировать символы /.JSON_FORCE_OBJECT
: Принудительное преобразование массивов в объекты.JSON_PRESERVE_ZERO_FRACTION
: Сохранить дробные числа с нулем.JSON_UNESCAPED_UNICODE
: Не экранировать юникод символы.JSON_PARTIAL_OUTPUT_ON_ERROR
: Частичный вывод при ошибках.
Значение каждой константы объясняется на странице о константах JSON.
По умолчанию: 0.
- $depth (int): максимальная глубина, до которой нужно пройти по $data. Должна быть больше 0.
- По умолчанию: 512.
Примеры использования
Примеры кодирования
wp_json_encode( 'one' ); // "one"
wp_json_encode( 2 ); // 2
wp_json_encode( array( 1, 'two' ) ); // [1,"two"]
wp_json_encode( (object) array( 1, 'two' ) ); // {"0":1,"1":"two"}
wp_json_encode(true); // string(4) "true"
wp_json_encode(false); // string(5) "false"
Изменения в функции
- С версии 4.1.0: Функция была введена.
- С версии 5.3.0: Функция больше не поддерживает PHP < 5.6.
- С версии 6.5.0: Параметр
$data
был переименован в$value
, а параметр$options
в$flags
для согласованности с PHP.
Код функции
Функция wp_json_encode()
выглядит следующим образом:
function wp_json_encode( $value, $flags = 0, $depth = 512 ) {
$json = json_encode( $value, $flags, $depth );
// Если json_encode() выполнен успешно, нет необходимости в дополнительных проверках.
if ( false !== $json ) {
return $json;
}
try {
$value = _wp_json_sanity_check( $value, $depth );
} catch ( Exception $e ) {
return false;
}
return json_encode( $value, $flags, $depth );
}
Похожие функции
Функции, которые могут быть полезны для работы с AJAX:
check_ajax_referer()
wp_doing_ajax()
wp_send_json()
wp_send_json_error()
wp_send_json_success()
Важно знать
Функция wp_json_encode()
полезна для конвертации данных в формат, который может быть использован в JavaScript и других языках программирования. Использование этой функции может помочь избежать проблем с кодировкой и форматированием данных.