Перейти к содержимому
Последнее обновление

JSON_VALID

Описание​

Функция JSON_VALID проверяет, соответствуют ли входные данные формату JSON. Она принимает входные данные типа String или JSON и проверяет корректность формата JSON.

Синтаксис​

JSON_VALID(<str>)
JSON_VALID(<json>)

Параметры​

  • <str>: тип String, строка в формате JSON для проверки
  • <json>: тип JSON, значение JSON для проверки

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

  • 1: если входные данные представляют собой корректный JSON
  • 0: если входные данные не соответствуют формату JSON
  • NULL: если входной параметр равен NULL

Примечания​

Поддержка параметров типа JSON позволяет избежать возможных проблем с неявным преобразованием типов (из JSON в String) при передаче столбца типа JSON. Как правило, в столбцах типа JSON хранятся корректные данные JSON, поэтому вызов JSON_VALID с параметром типа JSON обычно возвращает 1.

Псевдоним​

  • JSONB_VALID

Примеры​

  1. Проверка корректной строки JSON

    SELECT json_valid('{"k1":"v31","k2":300}');
    +-------------------------------------+
    | json_valid('{"k1":"v31","k2":300}') |
    +-------------------------------------+
    | 1 |
    +-------------------------------------+
  2. Проверка некорректной строки JSON

    SELECT json_valid('invalid json');
    +----------------------------+
    | json_valid('invalid json') |
    +----------------------------+
    | 0 |
    +----------------------------+
  3. Проверка параметра NULL

    SELECT json_valid(NULL);
    +------------------+
    | json_valid(NULL) |
    +------------------+
    | NULL |
    +------------------+
  4. Проверка параметра типа JSON

    SELECT json_valid(cast('{"k1":"v31","k2":300}' as json));
    +----------------------------------------------------+
    | json_valid(cast('{"k1":"v31","k2":300}' as json)) |
    +----------------------------------------------------+
    | 1 |
    +----------------------------------------------------+