get_json_bool
从 JSON 字符串中指定的 JSON 路径解析并获取布尔值。
如果 json_str
或 json_path
的格式无效,或者找不到匹配的内容,此函数将返回 NULL。
此函数从 v3.3 开始支持。
语法
BOOLEAN get_json_bool(VARCHAR json_str, VARCHAR json_path)
参数
-
json_str
:JSON 字符串。支持的数据类型是 VARCHAR。 -
json_path
:JSON 路径。支持的数据类型是 VARCHAR。json_path
必须以$
开头,并使用.
作为路径分隔符。如果路径中包含.
,可以用一对"
包围。[ ]
用作数组下标,从 0 开始。
示例
-
获取键为 "k1" 的值。该值为
true
,返回1
。MySQL > SELECT get_json_bool('{"k1":true, "k2":"false"}', "$.k1");
+----------------------------------------------------+
| get_json_bool('{"k1":true, "k2":"false"}', '$.k1') |
+----------------------------------------------------+
| 1 |
+----------------------------------------------------+ -
获取键为 "my.key" 的数组中的第二个元素。第二个元素为
false
,返回0
。SELECT get_json_bool('{"k1":"v1", "my.key":[true, false, 3]}', '$."my.key"[1]');
+--------------------------------------------------------------------------+
| get_json_bool('{"k1":"v1", "my.key":[true, false, 3]}', '$."my.key"[1]') |
+--------------------------------------------------------------------------+
| 0 |
+--------------------------------------------------------------------------+ -
获取路径为
k1.key -> k2
的数组中的第一个元素。第一个元素为false
,返回0
。MYSQL > SELECT get_json_bool('{"k1.key":{"k2":[false, true]}}', '$."k1.key".k2[0]');
+----------------------------------------------------------------------+
| get_json_bool('{"k1.key":{"k2":[false, true]}}', '$."k1.key".k2[0]') |
+----------------------------------------------------------------------+
| 0 |
+----------------------------------------------------------------------+
关键词
GET_JSON_BOOL,GET,JSON,BOOL