Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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> |
+--------+--------+--------+--------+--------+