JSON_KEYS()

简介

以JSON数组的形式返回JSON对象中的KEY值

语法

JSON_KEYS(json_doc[, path])

说明

1. 如果任何参数为NULL,返回NULL.

2. 如果json_doc不是一个对象,或者在指定路径下的json_doc不是一个对象,则返回NULL。

3. 如果json_doc参数不是一个有效的JSON,或者path参数不是一个有效的路径表达式,或者包含*或**通配符,则会发生错误。

示例

-- json_doc不是一个对象,且不指定路径
SELECT JSON_KEYS('[1,2,3]') FROM DUAL;
JSON_KEYS(text)      |
---------------------
null                 |
总数目:1

-- 指定路径下的json_doc不是一个对象
SELECT JSON_KEYS('[1,{"a":"b"},3]','$[0]') FROM DUAL;
JSON_KEYS(text)      |
---------------------
null                 |
总数目:1


-- json_doc是一个对象或指定路径下的json_doc是一个对象
SELECT JSON_KEYS('{"a":"b"}') FROM DUAL;
JSON_KEYS(text)      |
---------------------
["a"]                |
总数目:1

SELECT JSON_KEYS('{"a":"b","c":"d"}') FROM DUAL;
JSON_KEYS(text)      |
---------------------
["a", "c"]           |
总数目:1

SELECT JSON_KEYS('[1,{"a":"b"},3]','$[1]') FROM DUAL;
JSON_KEYS(text)      |
---------------------
["a"]                |
总数目:1