本文介绍JSON函数的基本语法及示例。
函数列表
函数名称 | 语法 | 说明 |
---|---|---|
json_contains | json_contains(x, y) | 测试一个JSON串是否包含某个特定值。 |
json_array_length | json_array_length(x) | 计算JSON数组中元素的数量。 |
json_extract | json_extract(x, path) | 从JSON对象或JSON数组中提取一组JSON值(数组或对象)。同json_value函数。 |
json_type | json_type(x) | 返回JSON串类型,如果指定字段,则返回JSON串中指定字段类型。 |
json_value | json_extract(x, path) | 从JSON对象或JSON数组中提取一组标量值(字符串、整数或布尔值)。同json_extract函数。 |
json_length | json_length(x) | 返回指定JSON对象或JSON数组的长度。 |
json_valid | json_valid(x) | 判断指定字符串是否为有效JSON。 |
json_contains函数
测试一个JSON串是否包含某个特定值。
语法
json_contains(x, y)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
x |
原始JSON字符串 | string类型 | 是 |
y | JSON键名 | string类型 | 是 |
返回值类型
integer类型(0:不包含;1:包含)
示例
类型 |
示例 |
---|---|
统计分析语句 |
SELECT json_contains('{"hostName":"www.test-002.com","latency":2.1}', 'hostName') |
返回结果 |
1 |
json_array_length函数
计算JSON数组中元素的数量。
语法
json_array_length(x)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
x |
JSON字符串 | string类型 | 是 |
返回值类型
integer类型
示例
类型 |
示例 |
---|---|
统计分析语句 |
SELECT json_array_length('[1,2,3]') |
返回结果 |
3 |
json_extract函数
从JSON对象或JSON数组中提取一组JSON值(数组或对象)。同json_value函数。
语法
json_extract(x, path)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
x |
原始JSON字符串 | string类型 | 是 |
path | JSON路径 | string类型 |
是 |
返回值类型
string类型(JSON格式)
示例
类型 |
示例 |
---|---|
统计分析语句 |
SELECT json_extract('[{"hello":"world"}, {"find":"path"}]', '$[0].hello') |
返回结果 |
"world" |
json_type函数
返回JSON串类型,如果指定字段,则返回JSON串中指定字段类型。
语法
json_type(x)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
x |
JSON字符串 | string类型 | 是 |
返回值类型
string类型
示例
类型 |
示例 |
---|---|
统计分析语句 |
SELECT json_type('[{"hello":"world"}, {"hi":"ctyun"}]') |
返回结果 |
Array |
json_length函数
返回指定JSON对象或JSON数组的长度。
语法
json_length(x)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
x |
JSON字符串 | string类型 | 是 |
返回值类型
integer类型
示例
类型 |
示例 |
---|---|
统计分析语句 |
SELECT json_length('{"hello":"world","hi":"ctyun"}') |
返回结果 |
2 |
json_valid函数
判断指定字符串是否为有效JSON。
语法
json_valid(x)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
x |
JSON字符串 | string类型 | 是 |
返回值类型
integer类型(0:无效;1:有效)
示例
类型 |
示例 |
---|---|
统计分析语句 |
SELECT json_valid('{"hello":"world","test":1}') |
返回结果 |
1 |