Resumo : neste tutorial, você aprenderá como usar a JSON_UNQUOTE()
função MySQL para remover aspas de uma string JSON.
Introdução à função JSON_UNQUOTE() do MySQL
A JSON_UNQUOTE()
função permite remover aspas duplas de uma string JSON. Aqui está a sintaxe da JSON_UNQUOTE()
função:
JSON_UNQUOTE(json_val)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
json_val
: a string JSON da qual você deseja remover as aspas.
A JSON_QUOTE()
função retorna um valor bruto sem aspas. A função retorna NULL
se json_val
for NULL
.
Se json_val
começar e terminar com aspas duplas, mas não for uma string JSON literal válida, a JSON_UNQUOTE()
função gerará um erro.
Exemplo de função JSON_UNQUOTE() do MySQL
Vejamos um exemplo de uso da JSON_UNQUOTE()
função.
Primeiro, crie uma tabela chamada persons
:
CREATE TABLE persons (
id INT PRIMARY KEY,
info JSON
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Segundo, insira duas linhas na persons
tabela:
INSERT INTO persons (id, info)
VALUES
(1, '{"name": "John", "age": 25, "city": "New York"}'),
(2, '{"name": "Alice", "age": 30, "city": "San Francisco"}');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Terceiro, consulte a cidade de cada pessoa:
SELECT
info -> "$.city" city
FROM
persons;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-----------------+
| city |
+-----------------+
| "New York" |
| "San Francisco" |
+-----------------+
2 rows in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Os nomes das cidades estão entre aspas duplas. Para remover as aspas duplas, você usa a JSON_UNQUOTE()
função:
SELECT
JSON_UNQUOTE(info -> "$.city") city
FROM
persons;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+---------------+
| city |
+---------------+
| New York |
| San Francisco |
+---------------+
2 rows in set (0.01 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O MySQL o torna mais conciso ao fornecer o ->>
operador que extrai e remove aspas de um valor JSON:
SELECT
info ->> "$.city" city
FROM
persons;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+---------------+
| city |
+---------------+
| New York |
| San Francisco |
+---------------+
2 rows in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
JSON_UNQUOTE()
função para remover aspas de uma string JSON.