JSON_KEYS
功能描述
从JSON对象的顶极值中返回对象键的JSON数组。
语法格式
JSON_KEYS( json_doc[, path] )
参数说明
json_doc:JSON目标文档,JSON类型或JSON String类型。
path:路径表达式,字符类型。
说明:
- 如果任何参数为NULL则返回NULL。
- 从左到有计算新值,产生的新值用于后续计算。
- 如果所选对象为空则返回空数组。
- 若路径为不存在则返回NULL。
- json_doc不为有效JSON文本或path不为有效路径表达式 或 路径表达式中包含 * 或 ** 通配符,都将抛出错误。
函数返回类型
JSON数值类型
示例
sql
SQL> SELECT TO_CHAR(JSON_KEYS('{"a": 1, "b": 2}', '$'));
EXPR1 |
------------------------------------------------------------------------------
["a", "b"]|
-- 返回一个 JSON 对象的所有顶层成员组成的数组
SQL> SELECT TO_CHAR(JSON_KEYS('{"x": 1, "y": 2, "z": 3}'));
EXPR1 |
------------------------------------------------------------------------------
["x", "y", "z"]|
-- 返回有路径表达式匹配的 JSON 对象的键
SQL> SELECT TO_CHAR(JSON_KEYS('[0, {"x": 1, "y": 2, "z": 3}]', '$[1]'));
EXPR1 |
------------------------------------------------------------------------------
["x", "y", "z"]|
-- 如果匹配的 JSON 文档不是 JSON 对象,JSON_KEYS() 返回 NULL
SQL> SELECT TO_CHAR(JSON_KEYS('1')),TO_CHAR(JSON_KEYS('true')),TO_CHAR(JSON_KEYS('"hello"')),TO_CHAR(JSON_KEYS('[1, 2]'));
EXPR1 | EXPR2 | EXPR3 | EXPR4 |
------------------------------------------------------------------------------
<NULL>| <NULL>| <NULL>| <NULL>|