Skip to content

JSON_DEPTH

功能描述

返回JSON文档最大深度。

语法格式

JSON_DEPTH( json_doc )

参数说明

json_doc:JSON目标文档,JSON类型或JSON String类型。

说明:

空数组、空对象或标量值的深度为1。包含深度为1元素的非空数组,或仅包含深度为1成员的分控对象,深度为2。否则,json_doc深度大于2。

函数返回类型

INTEGER数值类型。

示例

空数组、空对象或标量值

sql
SQL> SELECT TO_CHAR(JSON_DEPTH('{}')), TO_CHAR(JSON_DEPTH('[]')), TO_CHAR(JSON_DEPTH('1'));

EXPR1 | EXPR2 | EXPR3 | 
------------------------------------------------------------------------------
1| 1| 1|

其他JSON数组

包含深度为1元素的非空数组,或仅包含深度为1成员的分控对象。

sql
SQL> SELECT TO_CHAR(JSON_DEPTH('[1, 2]')), TO_CHAR(JSON_DEPTH('{"x": 1}'));

EXPR1 | EXPR2 | 
------------------------------------------------------------------------------
2| 2|

包含深度超过1的元素的数组,所有成员的值的深度超过1的对象。

sql
SELECT TO_CHAR(JSON_DEPTH('[1, [2, 3]]')),  TO_CHAR(JSON_DEPTH('{"x": {"y": 1}}')),
TO_CHAR(JSON_DEPTH('{"x": {"y": {"z": 1}}}'));

EXPR1 | EXPR2 | EXPR3 | 
------------------------------------------------------------------------------
3| 3| 4|