Extrai dados de um valor JSON com base no json_path especificado.
Sintaxe
JSON JSON_EXTRACT(JSON <json_expr>, STRING <json_path>)
-- Standard example.
-- Returns 1.
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');
Parâmetros
json_expr: Obrigatório. O valor JSON a ser processado.
json_path: Obrigatório. Um valor STRING que especifica o caminho do valor a retornar.
Valor de retorno
Retorna um valor JSON. Aplicam-se as seguintes regras:
Se o json_path for inválido, a função retorna NULL.
Caso o json_path esteja malformado, a função retorna um erro.
Exemplos
-
Exemplo 1: Extraia o valor da chave
ade um objeto JSON.SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.a');Resultado:
+-----+ | _c0 | +-----+ | 1 | +-----+ -
Exemplo 2: Quando o caminho JSON especificado é inválido ou a chave de destino não existe, a função retorna NULL.
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$.c');Resultado:
+-----+ | _c0 | +-----+ | NULL | +-----+ -
Exemplo 3: Se o formato do caminho JSON estiver malformado, a função retorna uma mensagem de erro.
SELECT JSON_EXTRACT(JSON '{"a":1, "b":2}', '$a');Resultado:
Invalid argument - Param json path $invalid_json_path is invalid
Funções relacionadas
JSON_EXTRACT é uma função JSON. Para obter mais informações sobre outras funções JSON, consulte JSON functions.