百度数据仓库 Palo SQL语法手册 - JSON解析函数
文档简介:
PALO 目前支持3个 JSON 解析函数:
1.get_json_int
2.get_json_string
3.get_json_double
GET_JSON_INT
Description:
get_json_int(VARCHAR json_str, VARCHAR json_path)
PALO 目前支持3个 JSON 解析函数:
1.get_json_int
2.get_json_string
3.get_json_double
GET_JSON_INT
Description
get_json_int(VARCHAR json_str, VARCHAR json_path)
- 功能:解析并获取 JSON 字符串内指定路径的整型内容。其中第一个参数为json字符串,第二个参数为json内的路径。json_path 必须以 $ 符号作为开头,使用 . 作为路径分割符。如果路径中包含 .,则可以使用双引号包围。 使用 [] 表示数组下标,从0开始。path 的内容不能包含 ", [, ]。 如果 json_string 格式不对,或 json_path 格式不对,或无法找到匹配项,则返回 NULL。
- 返回类型:int类型或NULL。
Example
mysql> select get_json_int('{"col1":100, "col2":"string", "col3":1.5}',
"$.col1"); +-----------------------------------------------------------
----------+ | get_json_int('{"col1":100, "col2":"string", "col3":1.5}', '$.col1') | +-----
----------------------------------------------------------------+ | 100 | +---------------
------------------------------------------------------+
Keywords
GET_JSON_INT, JSON
GET_JSON_STRING
Description
get_json_string(VARCHAR json_str, VARCHAR json_path)
- 功能:解析并获取 JSON 字符串内指定路径的字符串内容。 其中 json_path 必须以 $ 符号作为开头,使用 . 作为路径分割符。如果路径中包含 .,则可以使用双引号包围。 使用 [] 表示数组下标,从0开始。path 的内容不能包含 ",[,]。 如果 json_string 格式不对,或 json_path 格式不对,或无法找到匹配项,则返回 NULL。
- 返回类型:string类型或NULL。
Example
mysql> select get_json_string('{"col1":100, "col2":"string", "col3":1.5}', "$.col2"); +-----------
-------------------------------------------------------------+ | get_json_string('{"col1":100, "col2":"string",
"col3":1.5}', '$.col2') | +----------------------------------------------------------------------
--+ | string | +------------------------------------------------------------------------+
Keywords
GET_JSON_STRING, JSON
GET_JSON_DOUBLE
Description
get_json_double(VARCHAR json_str, VARCHAR json_path)
- 功能:解析并获取 JSON 字符串内指定路径的浮点型内容。其中 json_path 必须以 $ 符号作为开头,使用 . 作为路径分割符。如果路径中包含 .,则可以使用双引号包围。 使用 [] 表示数组下标,从0开始。path 的内容不能包含 ",[,]。 如果 json_string 格式不对,或 json_path 格式不对,或无法找到匹配项,则返回 NULL。
- 返回类型:double类型或NULL。
Example
mysql> select get_json_double('{"col1":100, "col2":"string", "col3":1.5}', "$.col3"); +-------------------------
-----------------------------------------------+ | get_json_double('{"col1":100, "col2":"string", "col3":1.5}',
'$.col3') | +------------------------------------------------------------------------+ | 1.5 | +------------------
------------------------------------------------------+ mysql> select get_json_double('{"col1":100, "col2":"string",
"col3":1.5}', "$.col5"); +----------------------------------------------------------------------
--+ | get_json_double('{"col1":100, "col2":"string", "col3":1.5}', '$.col5') | +-------------------------
-----------------------------------------------+ | NULL | +-------------------------------------------
-----------------------------+
Keywords
GET_JSON_DOUBLE, JSON