WP_JSON_ENCODE() Function: WP 4.1.0 – Syntax, Examples, and Return Value

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 и других языках программирования. Использование этой функции может помочь избежать проблем с кодировкой и форматированием данных.

Leave a Reply

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