A função JSON_UNQUOTE remove as aspas de dados JSON.
Sintaxe
STRING JSON_UNQUOTE(JSON <json>)
-- Standard example.
-- Returns 123.
SELECT JSON_UNQUOTE(JSON "123");
Parâmetros
json: Obrigatório. Os dados JSON cujas aspas serão removidas. O tipo de dado deste parâmetro é JSON.
Observação: a função reconhece as seguintes sequências de escape nos dados json. Todas as demais sequências de escape causam um erro de análise JSON.
|
Sequência de escape |
Caractere representado pela sequência |
|
" |
Aspas duplas " |
|
\b |
Caractere de backspace |
|
\f |
Avanço de formulário |
|
\n |
Avanço de linha |
|
\r |
Retorno de carro |
|
\t |
Caractere de tabulação |
|
\ |
Barra invertida \ |
|
\uxxxx |
Byte UTF-8 para o valor Unicode XXXX |
Valor de retorno
Retorna os dados JSON sem aspas como uma STRING. As seguintes regras se aplicam:
Se o valor de json for NULL, a função retorna NULL.
Se os dados json começarem e terminarem com aspas duplas, mas não constituírem um literal de string JSON válido, um erro é gerado.
Exemplos
-
Exemplo 1: use a função JSON_EXTRACT para buscar dados em um caminho JSON específico e use a função JSON_UNQUOTE para remover as aspas duplas do resultado.
-- Returns New York. SELECT JSON_UNQUOTE(JSON_EXTRACT(json '{"name": "John", "age": 25, "city": "New York"}','$.city')); -
Exemplo 2: remova as aspas de uma string JSON que contém sequências de escape.
SELECT JSON_UNQUOTE(json "123"); +-----+ | _c0 | +-----+ | 123 | +-----+ SELECT JSON_UNQUOTE(JSON '"te\\rst"'); -- +-----+ | _c0 | +-----+ | te st | +-----+ SELECT JSON_UNQUOTE(JSON '"\\ttest"'); -- +-----+ | _c0 | +-----+ | test | +-----+ SELECT JSON_UNQUOTE(JSON '"te\\nst"'); -- +-----+ | _c0 | +-----+ | te st | +-----+ SELECT JSON_UNQUOTE(JSON '"te\\bst"'); -- +-----+ | _c0 | +-----+ | tst | +-----+ SELECT JSON_UNQUOTE(JSON '"\\u03A9"'); +-----+ | _c0 | +-----+ | Ω | +-----+
Funções relacionadas
JSON_UNQUOTE é uma função JSON. Para obter mais informações sobre funções JSON, consulte JSON functions.