get_json_int
功能
解析并获取 json_str
内 json_path
的整型内容。如果 json_str
格式不对或 json_path
格式不对,或者无法找到匹配项,则返回 NULL。
语法
get_json_int(json_str, json_path)
参数说明
json_str
: json 字符串,支持的数据类型为 VARCHAR。
json_path
: 指定的路径,支持的数据类型为 VARCHAR,其中 json_path 必须以 $ 符号作为开头,使用 . 作为路径分割符,如果路径中包含 .
,则可以使用双引号包裹。使用 [ ] 表示数组下标,从 0 开始,path 的内容不能包含 ", [ 和 ]。
返回值说明
返回值的数据类型 INT。
示例
-
获取 key 为 "k1" 的 value
MySQL > SELECT get_json_int('{"k1":1, "k2":"2"}', "$.k1");
+--------------------------------------------+
| get_json_int('{"k1":1, "k2":"2"}', '$.k1') |
+--------------------------------------------+
| 1 |
+--------------------------------------------+ -
获取 key 为 "my.key" 的数组中第二个元素
MySQL > SELECT get_json_int('{"k1":"v1", "my.key":[1, 2, 3]}', '$."my.key"[1]');
+------------------------------------------------------------------+
| get_json_int('{"k1":"v1", "my.key":[1, 2, 3]}', '$."my.key"[1]') |
+------------------------------------------------------------------+
| 2 |
+------------------------------------------------------------------+ -
获取二级路径为 k1.key -> k2 的数组中,第一个元素
MySQL > SELECT get_json_int('{"k1.key":{"k2":[1, 2]}}', '$."k1.key".k2[0]');
+--------------------------------------------------------------+
| get_json_int('{"k1.key":{"k2":[1, 2]}}', '$."k1.key".k2[0]') |
+--------------------------------------------------------------+
| 1 |
+--------------------------------------------------------------+