Função try_parse_json
Aplica-se a: Databricks SQL
Databricks Runtime 15.3 e posterior
Retorna um VARIANT
valor do jsonStr
se possível, ou NULL
se não for possível.
Sintaxe
try_parse_json ( jsonStr )
Argumentos
jsonStr
: UmaSTRING
expressão que especifica um documento JSON.
Devoluções
Um VARIANT
valor que representa os dados equivalentes como a jsonStr
cadeia de caracteres JSON.
Se houver um erro na análise da cadeia de caracteres JSON, o resultado será NULL
.
Para retornar um erro em vez de NULL
, use a função parse_json .
Notas
A função to_json converte um VARIANT
valor em um STRING value
, por isso é logicamente o inverso de parse_json
.
No entanto, não é um inverso exato , então to_json(try_parse_json(jsonStr)) = jsonStr
pode não ser verdade.
O espaço em branco não está perfeitamente preservado
{ “a” : 1, “b” : 2 }
é equivalente a{“a”:1,“b”:2}
A ordenação de chaves pode ser arbitrária
{“a” : 1, “b”: 2}
é equivalente a{“b”: 2, “a” : 1}
Zeros à direita em números
{“a” : 0.01000}
é equivalente a{“a” : 0.01}
Exemplos
-- 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