跳到主要内容

JSON 函数

本节提供了 Databend 中 JSON 函数的参考信息。JSON 函数支持解析、验证、查询和操作 JSON 数据结构。

JSON 解析与验证

函数描述示例
PARSE_JSON将 JSON 字符串解析为 VARIANT 值PARSE_JSON('{"name":"John","age":30}'){"name":"John","age":30}
CHECK_JSON验证字符串是否为有效的 JSONCHECK_JSON('{"valid": true}')true

JSON 类型信息

函数描述示例
JSON_TYPEOF返回 JSON 值的类型JSON_TYPEOF('{"key": "value"}')'OBJECT'

JSON 转换

函数描述示例
JSON_TO_STRING将 JSON 值转换为字符串JSON_TO_STRING({"name":"John"})'{"name":"John"}'

JSON 路径操作

函数描述示例
JSON_PATH_EXISTS检查 JSON 路径是否存在JSON_PATH_EXISTS('{"a":1}', '$.a')true
JSON_PATH_MATCH根据路径模式匹配 JSON 值JSON_PATH_MATCH('{"items":[1,2,3]}', '$.items[*]')[1,2,3]
JSON_PATH_QUERY使用 JSONPath 查询 JSON 数据JSON_PATH_QUERY('{"a":1,"b":2}', '$.a')1
JSON_PATH_QUERY_ARRAY查询 JSON 数据并以数组形式返回结果JSON_PATH_QUERY_ARRAY('[1,2,3]', '$[*]')[1,2,3]
JSON_PATH_QUERY_FIRST返回 JSON 路径查询的第一个结果JSON_PATH_QUERY_FIRST('[1,2,3]', '$[*]')1

JSON 数据提取

函数描述示例
JSON_EXTRACT_PATH_TEXT使用路径从 JSON 中提取文本值JSON_EXTRACT_PATH_TEXT('{"name":"John"}', 'name')'John'
JSON_EACH将 JSON 对象展开为键值对JSON_EACH('{"a":1,"b":2}')[("a",1),("b",2)]
JSON_ARRAY_ELEMENTS将 JSON 数组展开为单个元素JSON_ARRAY_ELEMENTS('[1,2,3]')1, 2, 3

JSON 格式化与处理

函数描述示例
JSON_PRETTY使用适当的缩进格式化 JSONJSON_PRETTY('{"a":1}') → 格式化后的 JSON 字符串
STRIP_NULL_VALUE从 JSON 中移除 null 值STRIP_NULL_VALUE('{"a":1,"b":null}'){"a":1}
JQ使用 jq 风格的查询处理 JSONJQ('{"name":"John"}', '.name')"John"
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册