JSON_KEYS
📄字数 508
👁️阅读量 加载中...
功能描述
从JSON对象的顶级值中返回对象键的JSON数组。
语法格式
sql
JSON_KEYS( json_doc[, path] )
输入参数
json_doc
:JSON文本,JSON类型或字符类型。path
:路径表达式,字符类型。
输出结果
JSON类型。任意参数为NULL
时,输出结果为NULL
。
提示
- 从左到有计算新值,产生的新值用于后续计算。
- 如果所选对象为空则返回空数组。
- 若路径为不存在则返回NULL。
- 以下情况将导致系统抛出错误:
1.json_doc
是无效的JSON文本。
2.path
是无效的路径表达式。
3. 路径表达式中包含*
或**
通配符。
示例
sql
-- 无路径表达式,返回一个JSON对象的所有顶层成员组成的数组。
SQL> SELECT JSON_KEYS('{"x": 1, "y": 2, "z": 3}');
+-----------------+
| EXPR1 |
+-----------------+
| ["x", "y", "z"] |
+-----------------+
-- 有路径表达式,返回有路径表达式匹配的JSON对象的键。
SQL> SELECT JSON_KEYS('[0, {"x": 1, "y": 2, "z": 3}]', '$[1]');
+-----------------+
| EXPR1 |
+-----------------+
| ["x", "y", "z"] |
+-----------------+
-- 如果匹配的JSON文本不是JSON对象,JSON_KEYS()返回NULL。
SQL> SELECT JSON_KEYS('1'),
JSON_KEYS('true'),
JSON_KEYS('"hello"'),
JSON_KEYS('[1, 2]'),
JSON_KEYS('[0, {"x": 1, "y": 2, "z": 3}]');
+--------+--------+--------+--------+--------+
| EXPR1 | EXPR2 | EXPR3 | EXPR4 | EXPR5 |
+--------+--------+--------+--------+--------+
| <NULL> | <NULL> | <NULL> | <NULL> | <NULL> |
+--------+--------+--------+--------+--------+