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