Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Função
Aplica-se a:
SQL do Databricks
Runtime do Databricks
Extrai um objeto JSON de path.
Dica
Para novo código, Azure Databricks recomenda usar o tipo de dados VARIANT com o operador : para consultar dados JSON.
VARIANT oferece melhor desempenho de leitura e gravação, acesso a campos que diferenciam maiúsculas de minúsculas e semântica mais clara do que a análise JSON baseada em cadeia de caracteres. Veja Como a variante é diferente das cadeias de caracteres JSON?.
Sintaxe
get_json_object(expr, path)
Argumentos
-
expr: uma expressão de STRING que contém JSON bem formado. -
path: um literal STRING que contém uma expressão JSONPath com raiz em$. Consulte Notas para obter sintaxe e exemplos com suporte para padrões comuns.
Devoluções
Uma STRING.
Se o objeto não puder ser encontrado, será retornado um valor nulo.
Exemplos
-- Extract a top-level field
> SELECT get_json_object('{"a":"b"}', '$.a');
b
-- Extract a nested field
> SELECT get_json_object('{"a":{"b":"c"}}', '$.a.b');
c
-- Extract an array element by index
> SELECT get_json_object('{"items":["apple","pear"]}', '$.items[0]');
apple
-- Extract a field whose name contains a space
> SELECT get_json_object('{"first name":"Ada"}', '$["first name"]');
Ada
-- Extract a field whose name contains a dot, using bracket notation with double quotes
> SELECT get_json_object('{"ids":{"a.b":"42"}}', '$.ids["a.b"]');
42
-- Extract a field from every element of an array
> SELECT get_json_object('{"items":[{"n":1},{"n":2}]}', '$.items[*].n');
[1,2]
-- Returns NULL when the path does not match
> SELECT get_json_object('{"a":"b"}', '$.missing');
NULL
Observações
get_json_object usa a sintaxe JSONPath com raiz em $. O acesso de campo por notação de ponto (.field) não diferencia maiúsculas de minúsculas; a notação de colchete (['field'] ou ["field"]) diferencia maiúsculas de minúsculas. Isso difere da expressão de caminho Azure Databricks JSON usada com o operador : para consultar cadeias de caracteres VARIANT e JSON, documentadas separadamente.