跳到主要内容
版本:Latest-3.4

get_json_bool

从 JSON 字符串中指定的 JSON 路径解析并获取布尔值。

提示

所有的 JSON 函数和操作符都列在导航栏和概览页面

通过生成列加速查询

如果 json_strjson_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 开始。

示例

  1. 获取键为 "k1" 的值。该值为 true,返回 1

    MySQL > SELECT get_json_bool('{"k1":true, "k2":"false"}', "$.k1");
    +----------------------------------------------------+
    | get_json_bool('{"k1":true, "k2":"false"}', '$.k1') |
    +----------------------------------------------------+
    | 1 |
    +----------------------------------------------------+
  2. 获取键为 "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 |
    +--------------------------------------------------------------------------+
  3. 获取路径为 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