Summary: in this tutorial, you will learn how to use the MySQL JSON_UNQUOTE()
function to remove quotes from a JSON string.
Introduction to MySQL JSON_UNQUOTE() function
The JSON_UNQUOTE()
function allows you to remove double quotes from a JSON string. Here’s the syntax of the JSON_UNQUOTE()
function:
JSON_UNQUOTE(json_val)
Code language: SQL (Structured Query Language) (sql)
In this syntax:
json_val
: The JSON string from which you want to remove the quotes.
The JSON_QUOTE()
function returns a raw value without surrounding quotes. The function returns NULL
if the json_val
is NULL
.
If the json_val
starts and ends with double quotes but is not a valid JSON string literal, the JSON_UNQUOTE()
function will raise an error.
MySQL JSON_UNQUOTE() function example
Let’s take an example of using the JSON_UNQUOTE()
function.
First, create a table called persons
:
CREATE TABLE persons ( id INT PRIMARY KEY, info JSON );
Code language: SQL (Structured Query Language) (sql)
Second, insert two rows into the persons
table:
INSERT INTO persons (id, info) VALUES (1, '{"name": "John", "age": 25, "city": "New York"}'), (2, '{"name": "Alice", "age": 30, "city": "San Francisco"}');
Code language: SQL (Structured Query Language) (sql)
Third, query the city of each person:
SELECT info -> "$.city" city FROM persons;
Code language: SQL (Structured Query Language) (sql)
Output:
+-----------------+ | city | +-----------------+ | "New York" | | "San Francisco" | +-----------------+ 2 rows in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
The city names are surrounded by double quotes. To remove the double quotes, you use the JSON_UNQUOTE()
function:
SELECT JSON_UNQUOTE(info -> "$.city") city FROM persons;
Code language: SQL (Structured Query Language) (sql)
Output:
+---------------+ | city | +---------------+ | New York | | San Francisco | +---------------+ 2 rows in set (0.01 sec)
Code language: SQL (Structured Query Language) (sql)
MySQL makes it more concise by providing the ->>
operator that both extracts and removes quotes from a JSON value:
SELECT info ->> "$.city" city FROM persons;
Code language: SQL (Structured Query Language) (sql)
Output:
+---------------+ | city | +---------------+ | New York | | San Francisco | +---------------+ 2 rows in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
Summary
- Use the
JSON_UNQUOTE()
function to remove quotes from a JSON string.