As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Função JSON_EXTRACT_PATH_TEXT
A função JSON_EXTRACT_PATH_TEXT retorna o valor para o par de valor-chave referenciado por uma série de elementos de caminho em uma string JSON. O caminho JSON pode ser aninhado em até cinco níveis de profundidade. Os elementos do caminho diferenciam maiúsculas e minúsculas. Se um elemento do caminho não existir na string JSON, JSON_EXTRACT_PATH_TEXT retornará uma string vazia. Se o argumento null_if_invalid for definido como true e a string JSON for inválida, a função retornará NULL, em vez de retornar um erro.
Para obter informações sobre outras funções JSON, consulte Funções JSON.
Sintaxe
json_extract_path_text('json_string', 'path_elem' [,'path_elem'[, …] ] [, null_if_invalid ] )
Argumentos
- json_string
-
Uma string JSON adequadamente formatada.
- path_elem
-
Um elemento de caminho em uma string JSON. Um elemento de caminho é obrigatório. Elementos de caminho adicionais podem ser especificados com até cinco níveis de profundidade.
- null_if_invalid
-
Um valor booliano que especifica se NULL será ou não retornado caso a string de entrada JSON seja inválida, em vez de retornar um erro. Para retornar NULL se JSON for inválido, especifique
true(t). Para retornar um erro se JSON for inválido, especifiquefalse(f). O padrão éfalse.
Em uma string JSON, é AWS Clean Rooms reconhecida como um caractere de nova linha e \n como um caractere de \t tabulação. Para carregar uma barra invertida, use uma barra invertida de escape (\\).
Tipo de retorno
String VARCHAR representando o valor JSON referenciado pelos elementos de caminho.
Exemplo
O exemplo a seguir retorna o valor para o caminho 'f4', 'f6'.
select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}','f4', 'f6');json_extract_path_text ---------------------- star
O exemplo a seguir retornará um erro porque JSON é inválido.
select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6');An error occurred when executing the SQL command: select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6')
O exemplo a seguir define null_if_invalid como true; portanto, a instrução retornará NULL para o JSON inválido, em vez de retornar um erro.
select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6',true);json_extract_path_text ------------------------------- NULL
O exemplo a seguir retorna o valor para o caminho.'farm', 'barn',
'color', onde o valor recuperado está no terceiro nível. Esse exemplo é formatado com uma ferramenta JSON Lint para facilitar a leitura.
select json_extract_path_text('{ "farm": { "barn": { "color": "red", "feed stocked": true } } }', 'farm', 'barn', 'color');json_extract_path_text ---------------------- red
O exemplo a seguir retorna NULL porque o elemento 'color' está ausente. Esse exemplo é formatada com uma ferramenta JSON Lint.
select json_extract_path_text('{ "farm": { "barn": {} } }', 'farm', 'barn', 'color');json_extract_path_text ---------------------- NULL
Se o JSON for válido, tentar extrair um elemento ausente retornará NULL.
O exemplo a seguir retorna o valor para o caminho 'house', 'appliances',
'washing machine', 'brand'.
select json_extract_path_text('{ "house": { "address": { "street": "123 Any St.", "city": "Any Town", "state": "FL", "zip": "32830" }, "bathroom": { "color": "green", "shower": true }, "appliances": { "washing machine": { "brand": "Any Brand", "color": "beige" }, "dryer": { "brand": "Any Brand", "color": "white" } } } }', 'house', 'appliances', 'washing machine', 'brand');json_extract_path_text ---------------------- Any Brand