添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
版本:Latest-3.2

JSON 函数概述

StarRocks 支持如下 JSON 构造函数、JSON 查询和处理函数、JSON 运算符以及查询 JSON 对象的 JSON Path。

JSON 构造函数

JSON 构造函数可以构造 JSON 类型的数据。例如 JSON 类型的对象、JSON 类型的数组等。

函数名称 功能 示例 返回结果
json_object 构造 JSON 类型的对象。 SELECT JSON_OBJECT('Daniel Smith', 26, 'Lily Smith', 25); {"Daniel Smith": 26, "Lily Smith": 25}
json_array 构造 JSON 类型的数组。 SELECT JSON_ARRAY(1, 2, 3); [1,2,3]
parse_json 从字符串解析并构造出 JSON 类型的数据。 SELECT PARSE_JSON('{"a": 1}'); {"a": 1}

JSON 查询和处理函数

JSON 查询和处理函数可以查询和处理 JSON 类型的数据。例如查询 JSON 对象中指定路径下的值。

函数名称 功能 示例 返回结果
箭头函数 查询 JSON 对象中指定路径下的值。 SELECT parse_json('{"a": {"b": 1}}') -> '$.a.b'; 1
JSON 类型转换 将实现 JSON 类型的数据与 SQL 类型间的互相转换。 SELECT CAST(1 AS JSON); 1
get_json_double 解析并获取 json_str 内 json_path 的浮点型内容。 SELECT get_json_double('{"k1":1.3, "k2":"2"}', "$.k1"); 1.3
get_json_int 解析并获取 json_str 内 json_path 的整型内容。 SELECT get_json_int('{"k1":1, "k2":"2"}', "$.k1"); 1
get_json_string 解析并获取 json_str 内 json_path 指定的字符串。该函数别名为 get_json_object. SELECT get_json_string('{"k1":"v1", "k2":"v2"}', "$.k1"); v1
json_each 将最外层的 JSON 对象展开为键值对。 SELECT * FROM tj_test, LATERAL JSON_EACH(j); json_each
json_exists 查询 JSON 对象中是否存在某个值。如果存在,则返回 1;如果不存在,则返回 0。 SELECT JSON_EXISTS('{"a": 1}', '$.a'); 1
json_keys 返回 JSON 对象中所有最上层成员 (key) 组成的数组。 SELECT JSON_KEYS('{"a": 1, "b": 2, "c": 3}'); ["a", "b", "c"]
json_length 返回 JSON 字符串的长度。 SELECT json_length('{"Name": "Alice"}'); 1
json_query 查询 JSON 对象中指定路径下的值。 SELECT JSON_QUERY('{"a": 1}', '$.a'); 1
json_string 将 JSON 对象转化为 JSON 字符串。 SELECT json_string(parse_json('{"Name": "Alice"}')); {"Name": "Alice"}

JSON 运算符

StarRocks 支持使用 < <= > >= = != 运算符查询 JSON 数据,不支持使用 IN 运算符。JSON 运算符的更多说明,请参见 JSON 运算符