函数名称 | 语句 | 含义 |
json_array_contains(x,value) | 判断 JSON 数组中是否包含某个值。 | |
json_array_get(x,index) | 获取 JSON 数组中某个下标对应的元素。 | |
json_array_length(x) | 计算 JSON 数组中元素的数量。x 不是 JSON 数组时,返回 null。 | |
json_extract(x,json_path) | 从 JSON 对象或 JSON 数组中提取一组 JSON 值(数组或对象)。 | |
json_extract_scalar(x,json_path) | 从 JSON 对象或 JSON 数组中提取一组标量值(字符串、整数或布尔值)。类似于 json_extract 函数。 | |
json_format(x) | 把 JSON 类型转化成字符串类型。 | |
json_parse(x) | 把字符串类型转化成 JSON 类型。 | |
json_size(x,json_path) | 计算 JSON 对象或数组中元素的数量。 |
json_array_contains(x, value)
参数 | 说明 |
x | 参数值为 JSON 数组。 |
value | 数值。 |
* | SELECT json_array_contains('[1, 2, 3]', 2)
TRUE
json_array_get(x, index)
参数 | 说明 |
x | 参数值为 JSON 数组。 |
index | JSON 下标,从0开始。 |
* | SELECT json_array_get('["a", [3, 9], "c"]', 1)
[3,9]
json_array_length(x)
参数 | 说明 |
x | 参数值为 JSON 数组。 |
apple.message:[{"traceName":"StoreMonitor"},{"topicName":"persistent://apache/pulsar/test-partition-17"},{"producerName":"pulsar-mini-338-36"},{"localAddr":"pulsar://pulsar-mini-broker-5.pulsar-mini-broker.pulsar.svc.cluster.local:6650"},{"sequenceId":826},{"storeTime":1635905306062},{"messageId":"19422-24519"},{"status":"SUCCESS"}]
* | SELECT json_array_length(apple.message)
8
json_extract(x, json_path)
参数 | 说明 |
x | 参数值为 JSON 对象或 JSON 数组。 |
json_path | 注意:不支持需要遍历数组元素的 JSON 语法,例如 $.store.book[*].author 、$..book[(@.length-1)] 、$..book[?(@.price<10)] 等。 |
apple.instant:{"epochSecond":1635905306,"nanoOfSecond":63001000}
* | SELECT json_extract(apple.instant, '$.epochSecond')
1635905306
json_extract_scalar(x, json_path)
参数 | 说明 |
x | 参数值为 JSON 数组。 |
json_path | 注意:不支持需要遍历数组元素的 JSON 语法,例如 $.store.book[*].author 、$..book[(@.length-1)] 、$..book[?(@.price<10)] 等。 |
apple.instant:{"epochSecond":1635905306,"nanoOfSecond":63001000}
* | SELECT sum(cast(json_extract_scalar(apple.instant,'$.epochSecond') AS bigint) )
1635905306
json_format(x)
参数 | 说明 |
x | 参数值为 JSON 类型。 |
* | SELECT json_format(json_parse('[1, 2, 3]'))
[1, 2, 3]
json_parse(x)
参数 | 说明 |
x | 参数值为字符串。 |
* | SELECT json_parse('[1, 2, 3]')
[1, 2, 3]
json_size(x, json_path)
参数 | 说明 |
x | 参数值为 JSON 对象或 JSON 数组。 |
json_path | JSON 路径,格式为 $.store.book[0].title。 |
* | SELECT json_size(json_parse('[1, 2, 3]'),'$')
3
本页内容是否解决了您的问题?