Функция parse_json
Область применения: Databricks SQL Databricks Runtime 15.3 и более поздних версий
VARIANT
Возвращает значение из jsonStr
.
Синтаксис
parse_json ( jsonStr )
Аргументы
jsonStr
STRING
: выражение, указывающее документ JSON.
Возвраты
VARIANT
Значение, представляющее эквивалентные данные в виде jsonStr
строки JSON.
Если строка JSON недопустима, результатом является ошибка.
Чтобы вернуться NULL
вместо ошибки, используйте функцию try_parse_json .
Примечания.
Функция to_json преобразует VARIANT
значение в значение STRING value
, поэтому оно логически является обратным parse_json
.
Однако это не точное обратное, поэтому to_json(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 parse_json('{"key": 123, "data": [4, 5, "str"]}');
{"data":[4,5,"str"],"key":123}
-- Parsing a scalar value
> SELECT parse_json('123');
123
-- invalid JSON string
> SELECT parse_json('{ bad }');
[MALFORMED_RECORD_IN_PARSING.WITHOUT_SUGGESTION] Malformed records are detected in record parsing: { bad }.