tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

JSON 函数

PDF
聚焦模式
字号
最后更新时间: 2026-01-07 15:39:44
本文介绍 JSON 函数的基本语法及示例。
函数名称
语句
含义
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 函数

json_array_contains 函数用于判断 JSON 数组中是否包含某个值。

语法

json_array_contains(x, value)

参数说明

参数
说明
x
参数值为 JSON 数组。
value
数值。

返回值类型

boolean 类型。

示例

判断 JSON 字符[1,2,3]中是否包含2。
查询和分析语句
* | SELECT json_array_contains('[1, 2, 3]', 2)
查询和分析结果
TRUE

json_array_get 函数

json_array_get 函数用于获取 JSON 数组中某个下标对应的元素。

语法

json_array_get(x, index)

参数说明

参数
说明
x
参数值为 JSON 数组。
index
JSON 下标,从0开始。

返回值类型

varchar类型。

示例

返回 JSON 数组["a", [3, 9], "c"]下标为1的元素。
查询和分析语句
* | SELECT json_array_get('["a", [3, 9], "c"]', 1)
查询和分析结果
[3,9]

json_array_length 函数

json_array_length 函数用于计算 JSON 数组中元素的数量。x 不是 JSON 数组时,返回 null。

语法

json_array_length(x)

参数说明

参数
说明
x
参数值为 JSON 数组。

返回值类型

bigint 类型。

示例

示例1:计算 apple.message 字段值中 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 函数

json_extract 函数用于从 JSON 对象或 JSON 数组中提取一组 JSON 值(数组或对象)。

语法

json_extract(x, json_path)

参数说明

参数
说明
x
参数值为 JSON 对象或 JSON 数组。
json_path
JSONPath 形式的 JSON 路径,例如 $.store.book[0].title。
注意:不支持需要遍历数组元素的 JSON 语法,例如 $.store.book[*].author$..book[(@.length-1)]$..book[?(@.price<10)] 等。

返回值类型

JSON 格式的 string 类型。

示例

获取 apple.instant 字段中 epochSecond 的值。
字段样例
apple.instant:{"epochSecond":1635905306,"nanoOfSecond":63001000}
查询和分析语句
* | SELECT json_extract(apple.instant, '$.epochSecond')
查询和分析结果
1635905306

json_extract_scalar 函数

json_extract_scalar 函数用于从 JSON 对象或 JSON 数组中提取一组标量值(字符串、整数或布尔值)。

语法

json_extract_scalar(x, json_path)

参数说明

参数
说明
x
参数值为 JSON 数组。
json_path
JSONPath 形式的 JSON 路径,例如 $.store.book[0].title。
注意:不支持需要遍历数组元素的 JSON 语法,例如 $.store.book[*].author$..book[(@.length-1)]$..book[?(@.price<10)] 等。

返回值类型

varchar 类型。

示例

apple.instant 字段中获取 epochSecond 字段的值,并将该值转换为 bigint 类型进行求和。
字段样例
apple.instant:{"epochSecond":1635905306,"nanoOfSecond":63001000}
查询和分析语句
* | SELECT sum(cast(json_extract_scalar(apple.instant,'$.epochSecond') AS bigint) )
查询和分析结果
1635905306

json_format 函数

json_format 函数用于将 JSON 类型转化成字符串类型。

语法

json_format(x)

参数说明

参数
说明
x
参数值为 JSON 类型。

返回值类型

varchar 类型。

示例

将 JSON 数组[1,2,3]转换为字符串。
查询和分析语句
* | SELECT json_format(json_parse('[1, 2, 3]'))
查询和分析结果
[1, 2, 3]

json_parse 函数

json_parse 函数只用于将字符串类型转化成 JSON 类型,判断是否符合 JSON 格式。

语法

json_parse(x)

参数说明

参数
说明
x
参数值为字符串。

返回值类型

JSON类型。

示例

将字符串[1, 2, 3]转换为JSON数组。
查询和分析语句
* | SELECT json_parse('[1, 2, 3]')
查询和分析结果
[1, 2, 3]

json_size 函数

json_size 函数用于计算 JSON 对象或 JSON 数组中元素的数量。

语法

json_size(x, json_path)

参数说明

参数
说明
x
参数值为 JSON 对象或 JSON 数组。
json_path
JSON 路径,格式为 $.store.book[0].title。

返回值类型

bigint 类型。

示例

获取JSON 数组[1,2,3]的长度。
查询和分析语句
* | SELECT json_size(json_parse('[1, 2, 3]'),'$')
查询和分析结果
3


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈