Поделиться через


Функция try_parse_json

Область применения: флажок Databricks SQL флажок Databricks Runtime 15.3 и более поздних версий

VARIANT Возвращает значение из возможного jsonStr илиNULL, если это возможно.

Синтаксис

try_parse_json ( jsonStr )

Аргументы

  • jsonStrSTRING: выражение, указывающее документ JSON.

Возвраты

VARIANT Значение, представляющее эквивалентные данные в виде jsonStr строки JSON. Если при синтаксическом анализе строки JSON возникает ошибка, результатом является NULL.

Чтобы вернуть ошибку вместо этого NULL, используйте функцию parse_json .

Примечания.

Функция to_json преобразует VARIANT значение в значение STRING value, поэтому оно логически является обратным parse_json. Однако это не точное обратное, поэтому to_json(try_parse_json(jsonStr)) = jsonStr может не быть правдой.

  • Пробелы не сохраняются совершенно

    { “a” : 1, “b” : 2 } — это эквивалент {“a”:1,“b”:2}

  • Порядок ключей может быть произвольным

    {“a” : 1, “b”: 2} — это эквивалент {“b”: 2, “a” : 1}

  • Конечные нули чисел

    {“a” : 0.01000} — это эквивалент {“a” : 0.01}

Примеры

-- Simple example
> SELECT try_parse_json('{"key": 123, "data": [4, 5, "str"]}');
  {"data":[4,5,"str"],"key":123}

-- Parsing a scalar value
> SELECT try_parse_json('123');
  123

-- invalid JSON string
> SELECT try_parse_json('{ bad }');
  NULL