Функция try_parse_json
Область применения: Databricks SQL Databricks Runtime 15.3 и более поздних версий
VARIANT
Возвращает значение из возможного jsonStr
илиNULL
, если это возможно.
Синтаксис
try_parse_json ( jsonStr )
Аргументы
jsonStr
STRING
: выражение, указывающее документ 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