A função JSON_UNQUOTE remove as aspas de dados JSON.
Sintaxe
STRING JSON_UNQUOTE(JSON <json>)
-- 标准示例。
-- 返回123。
SELECT JSON_UNQUOTE(JSON "123");
Parâmetros
json : obrigatório. Dados JSON dos quais se deseja remover as aspas. Tipo JSON.
Observação: o sistema reconhece as seguintes sequências de escape nos dados json . Quaisquer outras sequências de escape causam falha na análise do JSON.
|
Sequência de escape |
Caractere representado |
|
" |
Aspas duplas " |
|
\b |
Backspace |
|
\f |
Avanço de página |
|
\n |
Nova linha |
|
\r |
Retorno de carro |
|
\t |
Tabulação |
|
\ |
Barra invertida \ |
|
\uxxxx |
Bytes UTF-8 do valor Unicode XXXX |
Valor de retorno
Retorna dados JSON sem aspas no tipo STRING. Regras de retorno:
Se o valor de json for NULL, 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, retorna um erro.
Exemplos
-
Exemplo 1: extraia dados de um caminho JSON específico com a função JSON_EXTRACT e remova as aspas duplas do resultado usando JSON_UNQUOTE.
-- 返回New York。 SELECT JSON_UNQUOTE(JSON_EXTRACT(json '{"name": "John", "age": 25, "city": "New York"}','$.city')); -
Exemplo 2: processe sequências de escape em dados JSON e remova as aspas duplas do resultado.
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 integra o conjunto de funções JSON. Para mais informações, consulte Funções JSON.