MySQL JSON_UNQUOTE() 函数使用指南

MySQL JSON_UNQUOTE() 函数取消双引号引用 JSON 值,并将结果作为字符串返回。

JSON_UNQUOTE() 语法

这里是 MySQL JSON_UNQUOTE() 的语法:

JSON_UNQUOTE(json_val)

参数

json_val
必需的。一个字符串。

返回值

JSON_UNQUOTE() 函数取消双引号引用 JSON 值,并将结果作为字符串返回。

如果参数为 NULLJSON_UNQUOTE() 函数返回 NULL

如果值以双引号开头和结尾,但不是有效的 JSON 字符串文本,MySQL 将返回类似的错误: ERROR 3141 (22032): Invalid JSON text in argument 1 to function json_unquote: xxx.

MySQL 能够识别下表中的转义字符:

转义序列 序列表示的字符
\" 双引号 "
\b 退格字符
\f 换页符
\n 换行符
\r 回车符
\t 制表符
\\ 反斜杠 \
\uXXXX Unicode 值 XXXX 的 UTF-8 字节

JSON_UNQUOTE() 示例

本示例展示了如何使用 JSON_UNQUOTE() 函数去除 JSON 字符串值两边的双引号。

SELECT JSON_UNQUOTE('"abc"');
+-----------------------+
| JSON_UNQUOTE('"abc"') |
+-----------------------+
| abc                   |
+-----------------------+

您也可以传入一个 JSON 类型的值,比如:

SELECT JSON_UNQUOTE(CAST('"abc"' AS JSON));
+-----------------------+
| JSON_UNQUOTE('"abc"') |
+-----------------------+
| abc                   |
+-----------------------+

这里,我们使用了 CAST() 函数将一个字符串转为 JSON 类型。