JSON解析函数

          PALO

          JSON解析函数

          Doris 目前支持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
          上一篇
          数学函数
          下一篇
          类型转换函数