wp_json_file_decode()WP 5.9.0

Читает и декодирует (парсит) указанный JSON файл.

Хуков нет.

Возвращает

Разное.

  • Объект/массив/строка/число/bool - данные закодированные в JSON файле в виде объекта или ассоциативного массива.

  • null - вернет null, если файл не найден, и запишет в лог ошибок сообщение File %s doesn't exist!. А также вернет null, если содержимое файла не может быть декодировано и запишет ошибку в лог Error when decoding a JSON file at path %1$s: %2$s.

Использование

wp_json_file_decode( $filename, $options );
$filename(строка) (обязательный)
Путь к файлу JSON.
$options(массив)

Опции, используемые с json_decode().

По умолчанию: array()

  • associative(true|false)

    • true - объекты JSON будут возвращаться в виде ассоциативных массивов.
    • false - объекты JSON будут возвращаться как объекты.

    По умолчанию: false

Примеры

0

#1 Получим содержимое json файла в виде ассоциативного массива

$path_file = '/path/to/data.json';
$decoded_file = wp_json_file_decode( $path_file, [ 'associative' => true ] );

Список изменений

С версии 5.9.0 Введена.

Код wp_json_file_decode() WP 6.5.2

function wp_json_file_decode( $filename, $options = array() ) {
	$result   = null;
	$filename = wp_normalize_path( realpath( $filename ) );

	if ( ! $filename ) {
		trigger_error(
			sprintf(
				/* translators: %s: Path to the JSON file. */
				__( "File %s doesn't exist!" ),
				$filename
			)
		);
		return $result;
	}

	$options      = wp_parse_args( $options, array( 'associative' => false ) );
	$decoded_file = json_decode( file_get_contents( $filename ), $options['associative'] );

	if ( JSON_ERROR_NONE !== json_last_error() ) {
		trigger_error(
			sprintf(
				/* translators: 1: Path to the JSON file, 2: Error message. */
				__( 'Error when decoding a JSON file at path %1$s: %2$s' ),
				$filename,
				json_last_error_msg()
			)
		);
		return $result;
	}

	return $decoded_file;
}