JSON_QUOTE
Descriptionβ
Surrounds the input string parameter with double quotes and escapes special characters and control characters in the string. The main purpose of this function is to convert strings into valid JSON strings.
Special characters include:
- Quote (
"
) - Backslash (
\
) - Backspace (
\b
) - Newline (
\n
) - Carriage return (
\r
) - Horizontal tab (
\t
)
Control characters include:
CHAR(0)
is escaped as\u0000
Syntaxβ
JSON_QUOTE (<str>)
Parametersβ
<str>
String type, the value to be quoted.
Return Valueβ
Returns a string enclosed in double quotes
Usage Notesβ
- If the parameter is NULL, returns NULL.
- If the parameter contains escape symbol (
\
) + non-escape character, the escape symbol will be removed, see examples 4 and 5.
Examplesβ
-
Double quotes are escaped
select json_quote('I am a "string" that contains double quotes.');
+------------------------------------------------------------+
| json_quote('I am a "string" that contains double quotes.') |
+------------------------------------------------------------+
| "I am a \"string\" that contains double quotes." |
+------------------------------------------------------------+ -
Escaping special characters
select json_quote("\\ \b \n \r \t");
+------------------------------+
| json_quote("\\ \b \n \r \t") |
+------------------------------+
| "\\ \b \n \r \t" |
+------------------------------+ -
Control character escaping
select json_quote("\0");
+------------------+
| json_quote("\0") |
+------------------+
| "\u0000" |
+------------------+ -
Escape symbol + non-escape character case
select json_quote("\a");
+------------------+
| json_quote("\a") |
+------------------+
| "a" |
+------------------+ -
Non-zero unprintable characters
select json_quote("\1");
+------------------+
| json_quote("\1") |
+------------------+
| "1" |
+------------------+